一个主机装多个ghost blog

想要再弄个blog。
作为勤劳朴素的学生党,喵~为了节约成本,想尽办法把ghost博客搭在一个主机上。经历了一番折腾,特别地总结下来,防止后人掉坑。

这篇文章的前提是:(1)你已经在主机上成功搭好了一个ghost博客。(2)linux系统的主机,centos的目录可以留言。


停止相关的服务

虽然我装的时候偷懒没有停止,但是还是停了保险一点,避免出错。

  service ghost stop
  service nginx stop

修改nginx的配置

  • 把原来的ghost文件重命名为makaiqian1.conf,并且复制一份,命名为makaiqian2.conf。这里的makaiqian1和makaiqian2可自定义。

     cd /etc/nginx/sites-enabled
     mv ghost makaiqian1.conf
     cp makaiqian1.conf makaiqian2.conf
    
  • 编辑第一个.conf的内容

     vim makaiqian1.conf
    

    将里面的server_name替换成你第一个站点的域名。

     server_name makaiqian1.com
    
  • 编辑第二个.conf的内容

     vim makaiqian2.conf
    

    同样,将里面的server_name替换成你第二个站点的域名。

     server_name makaiqian2.com
    

    并设置和站点1不同的端口

     proxy_pass http://localhost:2222
    
  • 修改完成后保存并重启nginx

     esc键 + :wq
     service nginx restart
    

更改Ghost配置

  • 一般,ghost的目录在/var/www下

     cd /var/www
    
  • 复制第一个ghost blog的所有文件为第二个blog

     cp -r 第一个ghost的所在目录 第二个ghost的目录
    
  • 修改第一个blog的配置

     vim /www/var/makaiqian1/ghost/config.js
    
  • 把里面的一些信息修改

    production: { url: 'http://makaiqian1.com'

    修改第二个blog的配置

     vim /www/var/makaiqian2/ghost/config.js
    

    把里面的一些信息修改

     production: {
         url: 'http://makaiqian2.com'
    

    并修改端口:

     port: '2222'
    

    如果想用不同数据库,数据库名需要改一下。

让两个ghost blog分别start\restart\stop

  • 移除原来的,避免受影响。

     rm /etc/init.d/ghost
    
  • 进入目录

     cd /etc/init
    
  • 给第一个站点创建一个文件

     vim ghost-makaiqian1.conf
    

    输入:

     start on startup
     script
         cd /var/www/makaiqian1/ghost
         npm start --production
     end script
    
  • 给第二个站点创建一个文件

     cp ghost-makaiqian1.conf ghost-makaiqian2.conf
    

    改为:

     start on startup
     script
         cd /var/www/makaiqian2/ghost
         npm start --production
     end script
    

开启

分别start两个主机验证:

service ghost-makaiqian1 start
service ghost-makaiqian2 start

其它

  1. 如果第二个站点是类似于ghost.makaiqina.com的子域名,要先给域名添加A记录。

  2. 带www前缀的和不带www前缀打开的页面不同。
    解决方法:域名新添加A记录。www加上。

麻凯倩

微信:makaiqian