下面来给大家介绍阿里云服务器上安装 Ghost方法吧,以前介绍安装nginx,mysql等最后我再把安装ghost给补充一下.
现在我们准备进入 Ghost 的世界吧,做些准备工作,创建数据库,我们希望 Ghost 搭配 MySQL 数据库运行,因此需要为 Ghost 创建一个 MySQL 数据库,前面已经安装好 MySQL 了,现在我们就来创建数据库吧:
mysql -uroot -p -e 'create database ghost;'
系统会提示你输入 MySQL 数据库的 root 账户密码,指令执行之后就创建了一个叫做 ghost 的数据库,将来,你的文章就是存在这里喽.
配置 Nginx:我们希望利用 Nginx 做 Ghost 的前端代理服务,OK,我们进入 /etc/nginx/sites-available/ 目录设置 Nginx,代码如下:
- cd /etc/nginx/sites-available/
- sudo touch ghost.conf
- sudo vi ghost.conf
最后一条指令是用 vim 编辑器打开 ghost.conf 文件进行编辑,我们输入如下内容:
- server {
- listen 80;
- server_name ghostchina.com; //替换为你自己的域名!
-
- location / {
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header Host $http_host;
- proxy_pass http://127.0.0.1:2368;
- }
- }
如果不会用 vim 的话,请百度一下吧,只要会基本操作就 OK 了.然后我们为 ghost.conf 文件做一个软链接到 /etc/nginx/sites-enabled/ 目录下:
sudo ln -s /etc/nginx/sites-available/ghost.conf /etc/nginx/sites-enabled/ghost.conf
安装 forever:目前我们推荐采用 Upstart 进程守护工具来启动 Ghost,关于如何通过 Upstart 启动、监控 Ghost.
如果是通过 npm start 启动 Ghost 的话,只要你关闭了远程连接,Ghost 也就停了,这个我们当然不希望喽,幸好,有 forever 工具帮我们解决这个问题,接下来执行以下指令来安装 forever:
sudo npm install forever -g
注意:这条指令将 forever 安装到全局环境,安装的时候系统会提示一些 WARN,这是因为 forever 依赖的 Node.js 版本过低,没关系,不用理会.
Ghost,走你,下载 Ghost,Ghost 安装包是经过压缩的,在 Linux 上我们需要用 unzip 工具对其解压,因此,首先要安装 unzip 工具:
sudo apt-get install unzip
接下来我们下载 Ghost 安装包:cd /srv/.
sudo curl -L http://dl.ghostchina.com/Ghost-0.4.1.zip -o ghost.zip
注意:上述下载链接是 Ghost中文网 提供的 CDN 加速下载,除了加速,还有一个原因就是:某些网站随时都可能被和谐掉.
将其解压缩:sudo unzip ghost.zip -d ghost
现在,/srv/ghost/ 目录下面就是我们的 Ghost 系统了,修改 Ghost 配置文件,我们进入 Ghost 系统目录,为 Ghost 增加配置文件并配置数据库:
- cd /srv/ghost/
- sudo cp config.example.js config.js
- sudo vi config.js
最后一条指令是用 vim 打开 config.js 文件进行编辑,我们只修改 production 一节的配置信息,修改为如下形式,注意按照你自己的实际情况替换,代码如下:
- // ### Production
- // When running Ghost in the wild, use the production environment
- // Configure your URL and mail settings here
- production: {
- url: 'http://ghostchina.com', //替换为你自己的域名。
- mail: {},
- database: {
- client: 'mysql',
- connection: {
- host : '127.0.0.1',
- user : 'root', //我们暂且用 MySQL 的 root 账户
- password : '123456', //输入你的 MySQL 密码
- database : 'ghost', //我们前面为 Ghost 创建的数据库名称
- charset : 'utf8'
- }
- },
- server: {
- // Host to be passed to node's `net.Server#listen()`
- host: '127.0.0.1',
- // Port to be passed to node's `net.Server#listen()`, for iisnode set this to `process.env.PORT`
- port: '2368'
- }
- },
检查无误后我们保存并退出编辑器.
安装 Ghost 依赖的库:很多同学安装到这一步都会遇到 sqlite 安装失败的情况,究其原因,还是我们伟大的“墙”在捣乱。由于安装 sqlite 时需要从亚马逊的 S3 服务器上下载一些组件,但是国外服务器经常被墙,所以在这一步上掉进坑里的同学都很无辜。
不幸的是,目前没有好的解决办法。
不过,我们这一系列教程讲解是采用 MySQL 数据库搭配 Ghost ,所以我们可以不安装 sqlite,具体操作如下:
打开 Ghost 系统的目录下面的 package.json 文件,将 "sqlite3": "2.2.0", 这一行删除掉(注意,你看到的 sqlite 版本可能会不一样,但是,只要是 sqlite3 字样,删除即可)。
接下来,进入存放 Ghost 系统的目录并安装 Ghost 所依赖的 npm 包:
cd /srv/ghost/
sudo npm install --production
很快,所有依赖包就安装好了,当前目录下会多出一个 node_modules 目录.
启动 Ghost,执行如下指令重启 Nginx、启动 Ghost:
- sudo service nginx restart
- cd /srv/ghost
- sudo NODE_ENV=production forever start index.js
YEAH! 现在打开浏览器并输入你的域名看看是否出现了熟悉的画面. |