进程管理工具

pm2

pm2 = P (rocess) M (anager)2,是可以用于生产环境的Nodejs的进程管理工具,它内置一个负载均衡,可以保证服务不会中断一直在线,并且提供0秒reload功能,还有其他一系列进程管理、监控功能。

pm2的安装和使用

npm install -g pm2
pm2 start app.js
pm2 startup, pm2 save 两条命令,用来保证服务器启动时,pm2管理的程序自动运行。
pm2 reload all
pm2 restart [id]
pm2 logs [id]
pm2 delete [id]
pm2 list
pm2 show [id] 或者 # pm2 info [id]  #查看进程详细信息

更多pm2常用的命令用法介绍
http://i5ting.github.io/node-deploy-practice/
http://www.111cn.net/sys/linux/120062.htm
http://www.pangjian.info/2016/12/02/deploy-nodejs-pm2-1/?utm_medium=referral

可以通过自定义启动文件,来管理jar包。创建xx.json,示例内容如下:

{
    "name": "cogrowth-api",
    "script": "java",
    "args": [
        "-Xms64m",
        "-Xmx512m",
        "-Dspring.profiles.active=pub",
        "-jar",
        "cogrowth-api-1.0.jar",
    ],
    "exec_interpreter": "",
    "exec_mode": "fork"
}
pm2 start xx.json

exec_interpreter: NodeJs解析器,本文不适用
exec_mode: 执行模式[cluster|fork]这个针对NodeJs应用的配置,非NodeJs应用统一fork
日志路径在~/.pm2/logs,stdout和stderr被分开存放,程序中的所有stdout和stderr都被收集方便查错。

发表评论