为了安装linux nginx mysql ghost花了不少时间,下边把linux nginx mysql ghost的安装过程记下来。 Ghost 是基于 Node.js 的开源博客平台,由前 WordPress UI 部门主管 John O’Nolan和 WordPress 高级工程师(女) Hannah Wolfe 创立,目的是为了给用户提供一种更加纯粹的内容写作与发布平台。

Ghost很难安装,需要有点动手能力,下边我们一起来看看怎么把ghost部署到linux VPS。

1、安装node.js和npm

curl -sL https://deb.nodesource.com/setup | sudo bash -- sudo apt-get install -y nodejs

2、安装LNMP

lnmp.org是国人使用最多的lnmp环境一键部署安装包。

wget -c http://soft.vpser.net/lnmp/lnmp1.2-full.tar.gz && tar zxf lnmp1.2-full.tar.gz && cd lnmp1.2-full && ./install.sh lnmp

添加域名:

lnmp vhost add

3、创建ghost稍后会使用的mysql数据库

打开网址: http://linux-ip/phpmyadmin/;

登陆mysql数据库,创建ghost数据库,为了安全也可以创建ghost数据库专用的mysql数据库用户和密码,并赋予相应权限,而不是使用root用户。

4、安装Ghost

cd /home/wwwroot/default sudo wget https://ghost.org/zip/ghost-latest.zip
sudo unzip -d ghost ghost-latest.zip
cd ghost/
sudo npm install --production

5、配置ghost

sudo cp config.example.js config.js sudo vi config.js
把url后边的网址改成自己的域名

database配置如下

    database: {
        client: 'mysql',
        connection: {
            host     : '127.0.0.1',
            user     : 'ghost',
            password : 'pw',
            database : 'database-name',
            charset  : 'utf8'
            }

把host: ‘127.0.0.1’,改成host: ‘0.0.0.0’,

6、创建运行ghost的用户

sudo adduser --shell /bin/bash --gecos 'Ghost application' ghost sudo chown -R ghost:ghost /home/wwwroot/default/ghost/

在运行ghost之前需要先将linux切换到ghost用户:

su - ghost cd /home/wwwroot/default/ghost/

然后再用npm start --production命令启动ghost

用浏览器打开 http://domain.com:2368,

即可看到ghost安装成功的界面。

这时网站的端口是2368,需要用nginx反代到80端口。

7、配置nginx

cd /usr/local/nginx/conf cp nginx.conf nginx.conf.backup
vim nginx.conf
以上是找到相应的主机nginx配置文件

找到server{}段,然后改成以下内容:

server {
listen 80;
server_name your-domain-name.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。 然后重启nginx: service nginx restart

这样就可以通过http://domain.com 访问ghost了。

此时,如果你关闭命令行,ghost将停止运行。

如何让ghost保持后台运行呢?

将用户切换到root(su),

运行npm install forever -g

安装完 forever 后,再执行下面的命令启动 Ghost: NODE_ENV=production forever start index.js

通过 forever stop index.js 停止 Ghost

通过 forever list 检查 Ghost 当前是否正在运行

不出意外的话,你就可以看到正常运行的ghost了。