背景
在采用 egg 或 express 进行 Node 应用开发时,开发环境和生成环境是不一样的。
比如在 egg 中,开发时采用命令 npm run dev
,
而在生产环境中需要采用egg-scripts
进行生产环境的部署。
在一般的 Node 应用中,如果我们想让 Node 可以在后台运行,在关闭时,这个进程依然存在,
我们把它叫做“进程守护”。
下面介绍一些常用的进程守护的方式。
nohup 命令
例如:nohup /root/start.sh &
forever
forever start app.js #启动
forever stop app.js #关闭
forever start -l forever.log -o out.log -e err.log app.js #输出日志和错误
链接:https://github.com/foreverjs/…
pm2
pm2 start app.js;//启动项目
pm2 start app.js --watch;//启动项目并监听变化重启
pm2 list ;//获取进程列表,每个列表都有id
pm2 monit ;//查看所有进程详情
pm2 stop ;//后面跟'id|name|all|json|stdin';
pm2 stop --watch 0 ;//停止监听0
pm2 restart ;//后面跟'id|name|all|json|stdin' ;
pm2 delete ;//后面跟'name|id|script|all|json|stdin';