Ghost安装部署全配置备忘

把WP移到了Ghost,以下是我安装Ghost的过程。

下载安装Ghost安装包

  1. 获取最新安装包
    curl -L https://ghost.org/zip/ghost-latest.zip -o ghost.zip
  2. 解压安装包
    unzip -uo ghost.zip -d /var/www/skyf
    note: 把skyf换成自己的网站目录。
  3. 进入网站目录,并安装产品依赖包
    cd /var/www/skyf && npm install --production

修改配置文件

修改更目录下 config.js 文件production配置:

    production: {
        #url 换成自己要绑定的域名
        url: 'http://www.skyf.org',
        mail: {},

        #配置mysql数据库
        database: {
            client: 'mysql',
            connection: {
                host     : 'localhost',
                user     : 'username',
                password : 'password',
                database : 'dbname',
                charset  : 'utf8'
            },
            debug: false
        },

        /*database: {
            client: 'sqlite3',
            connection: {
                filename: path.join(__dirname, '/content/data/ghost-dev.db')
            },
            debug: false
        },*/

        server: {
            host: '127.0.0.1',
           # 配置访问端口
            port: '5322'
        }
    }

然后在Nginx做如下配置

在nginx配置目录里,新建conf文件,做如下配置:

server {  
    listen       80;

    server_name  skyf.org www.skyf.org;

    if ($host != 'www.skyf.org') {
        rewrite ^/(.*)$ http://www.skyf.org/$1 permanent;
    }

    location / {
        proxy_pass http://127.0.0.1:5322;
    }


    location /f {
        index index.html;
        alias /var/www/skyf/content/custom;
    }


    location /demo {
        index index.html index.htm;
        alias /var/www/skyf/content/demo;
        access_log off;
        expires max;
    }

    location /static {
        index index.html index.htm;
        alias /var/www/skyf/content/static;
        access_log off;
        expires max;
    }
}

然后重启nginx服务。

$ systemctl restart nginx

启动网站

到Ghost网站目录下,并启动Ghost:

$ npm start --production

然后通过域名便可访问ghost.

初始化后台

直接访问 http://域名/ghost 便可以初始化后台。

配置Disqus文章评论

  1. 在你当前的主题目录找到 post.hbs文件,如:yourghostdir/content/themes/casper/
  2. 粘贴如下代码到 </article> 标签前面
<div id="disqus_thread"></div>  
<script type="text/javascript">  
    var disqus_shortname = 'example'; // required: replace example with your forum shortname

    /* * * DON'T EDIT BELOW THIS LINE * * */
    (function() {
        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
    })();
</script>  
<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>  
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>  
  1. 替换disqus_shortname为你的Disqus forum shortname.
  2. 重启Ghost即可。

使用PM2后台运行Ghost

安装 PM2,以 CentOS 为例

  • 通过 npm install pm2@latest -g安装PM2
  • 为了让PM2自启动,使用 pm2 startup centos
  • 然后以生产模式,启动Ghost NODE_ENV=production pm2 start index.js --name ghost.skyf
  • 保存 pm2 save
  • 然后重新启动 Ghost pm2 restart index.js
  • 通过 pm2 list可以检查Ghost是否在运行

这样Ghost就可以一直驻守在后台了。同样的插件有 SupervisorForever.