让 Ghost 一直运行

前面提到的启动 Ghost 使用 npm start 命令。这是一个在开发模式下启动和测试的不错的选择,但是通过这种命令行启动的方式有个缺点,即当你关闭终端窗口或者从 SSH 断开连接时,Ghost 就停止了。为了防止 Ghost 停止工作,有两种方式解决这个问题。

1.Forever (https://npmjs.org/package/forever)

你可以使用 forever以后台任务运行 Ghost 。forever将会按照 Ghost 的配置,当进程 crash 后重启 Ghost。

cd /opt/ghost  
##安装 forever
npm install forever -g  
##让 forever 从 Ghost 安装目录运行
NODE_ENV=production forever start index.js  
##停止 Ghost
forever stop index.js  
##检查 Ghost 当前是否正在运行
forever list  
2.PM2

1).进入Ghost安装目录 执行下面的命令安装PM2:

    npm install pm2 -g 

2).设置环境变量为“production”生产模式!“index.js”是程序启动的入口。最后给这个PM2的进程命名为"ghost" 于是,执行下面的命令:

    NODE_ENV=production pm2 start index.js --name "ghost"

3).让PM2知道在开机后自动运行我们的网站:

    ##Ubuntu 系统:
    pm2 startup ubuntu
    ##CentOS 系统:
    pm2 startup centos
    ##亚马逊 EC2:
    pm2 startup amazon
    ##保存设置(非常重要)
    pm2 save

4).PM2的常用命令

    ##监控运行状态:
    pm2 status
    ##监控Node.js程序的运行日志
    pm2 logs
    ##检查内存占用情况和程序的运行状态:
    pm2 monit
    ##让pm2能够能够在这3个系统上自动启动。
    pm2 startup <centos|ubuntu|amazon> 
    ##是启动|停止|重启 ghost程序:
    pm2 <start|stop|restart> ghost
    ##清除所有正在运行的PM2 Ghost进程:
    pm2 kill ghost 

[参考]