使用pm2部署node生产环境的方法步骤

2020-06-17 06:37:44易采站长站整理


pm2 show [Name] //根据name查看
pm2 show [ID] //根据id查看

停止指定应用pm2 stop <appName> [options] 停止指定应用


pm2 stop all //停止所有应用
pm2 stop [AppName] //根据应用名停止指定应用
pm2 stop [ID] //根据应用id停止指定应用

重启应用pm2 reload|restart <appName> [options] 重启指定应用


pm2 restart app.js //同时杀死并重启所有进程,短时间内服务不可用,生成环境慎用
pm2 reload app.js //重新启动所有进程,0秒重启,始终保持至少一个进程在运行
pm2 gracefulReload all //以群集模式重新加载所有应用程序

启动静态服务器pm2 serve ./dist 8080将目录dist作为静态服务器根目录,端口为8080

删除应用pm2 delete <appName> [options] 删除指定应用;如果修改了应用配置行为,需要先删除应用,重新启动后方才会生效,如修改脚本入口文件;


pm2 delete all //关闭并删除应用
pm2 delete [AppName] //根据应用名关闭并删除应用
pm2 delete [ID] //根据应用ID关闭并删除应用

pm2 kill 杀掉pm2管理的所有进程;

pm2 logs <appName> 查看指定应用的日志,即标准输出和标准错误


pm2 logs //查看所有应用日志
pm2 logs [Name] //根据指定应用名查看应用日志
pm2 logs [ID] //根据指定应用ID查看应用日志

pm2 monit 监控各个应用进程cpu和memory使用情况;

PM2配置方式

命令生产默认示例配置文件pm2 ecosystem或pm2 init,运行默认会生成ecosystem.config.js配置文件


module.exports = {
apps: [
{
name: 'back-Api', //应用名
script: './server/start.js', //应用文件位置
env: {
PM2_SERVE_PATH: "./apidoc", //静态服务路径
PM2_SERVE_PORT: 8080, //静态服务器访问端口
NODE_ENV: 'development' //启动默认模式
},
env_production : {
NODE_ENV: 'production' //使用production模式 pm2 start ecosystem.config.js --env production
},
instances:"max", //将应用程序分布在所有CPU核心上,可以是整数或负数
instance_var: "INSTANCE_ID",
exec_mode: "cluster",
watch:[
"server",
], //监听模式,不能单纯的设置为true,易导致无限重启,因为日志文件在变化,需要排除对其的监听
merge_logs: true, //集群情况下,可以合并日志
}
],
deploy: {
production : {
user: 'node', //ssh 用户
host: '212.83.163.1', //ssh 地址