PM2是极其强大的进程管理工具,可以托管各种程序,丰富的环境日志部署能力。这里只记录本项目中使用的功能。
常用命令
npm install -g pm2
pm2 start app.js // 启动
pm2 start app.js -i max //启动 使用所有CPU核心的集群
pm2 stop app.js // 停止
pm2 stop all // 停止所有
pm2 restart app.js // 重启
pm2 restart all // 重启所有
pm2 delete app.js // 关闭
pm2 list // 查看所有服务情况
pm2 logs //查看所有日志
pm2 log app.js //查看某个服务的日志
参数传递
为了区分不同环境,需要在pm2启动时指定参数。配置文件如下(假如它的名字叫pm2.config.js):
module.exports = {
apps : [{
name : "app",
script : "./app.js",
watch : true,
env_development: {
"NODE_ENV": "development",
},
env_production : {
"NODE_ENV": "production"
}
}]
}
命令启动时指定环境即可:
pm2 start pm2.config.js --env development
# 代码中访问
process.env.NODE_ENV