pm2 命令手册

pm2 部署命令

准备工作

node安装

设置node软连接

ln -s /opt/node-v14.14.0-linux-x64/bin/node /usr/bin/node
ln -s /opt/node-v14.14.0-linux-x64/bin/npm /usr/bin/npm

pm2 命令

pm2 start npm --name homepage1 -- run start
pm2 start npm --name homepage -- run start

#1、安装pm2(npm版本太低可能会导致安装失败,升级步骤见后文)
npm install -g pm2
#查看pm2的安装路径
whereis pm2
pm2: /opt/node-v16.14.0-linux-x64/bin/pm2
#设置软连接 或者配置/etc/profile
ln -s /opt/node-v14.14.0-linux-x64/lib/node_modules/pm2/bin/pm2 /usr/bin/pm2
#修改软连接
ln -snf /opt/node-v14.14.0-linux-x64/lib/node_modules/pm2/bin/pm2 /usr/bin/pm2
#配置/etc/profile
export NODE_HOME=/usr/local/nodejs/node-v12.12.0-linux-x64
export PATH=$NODE_HOME/bin:$PATH
#更新
source /etc/profile

#查看版本
pm2 -v

#首先确保您正确保存了所有进程:
sudo pm2 save
#最后更新内存中的PM2进程:
sudo pm2 update

#启动进程(需要进入该项目所在目录下)
pm2 start 进程名
#启动成功后可进行访问,若不能访问检查一下端口的下行规则是否开放

#查看进程
pm2 list
#停止、删除进程
pm2 stop/delete 进程名
#查看日志
pm2 logs
#查看项目运行情况,包括内存,cpu状态等
pm2 monit 
#保存当前已经启动了的服务.pm2/dump.pm2这个文件是否已经有保存到数据, save之前无该文件
pm2 save   
#设置开机自启的配置
pm2 startup 

# 删除
rm /usr/bin/pm2 
rm -r /usr/local/lib/node_modules 
rm -r /root/.pm2/ 
# 重新安装pm2
npm install pm2 -g 
# 建立软链接
ln -s /opt/node-v16.14.0-linux-x64/lib/node_modules /usr/bin/pm2

ecosystem.config.js

module.exports = {
  apps : [{
	name: 'home',
	script: './node_modules/nuxt/bin/nuxt.js',
	args: 'start',
	min_uptime: 60s,
	max_restarts: 30,
	/*
	//用于生产环境与开发环境的切换
	env: {
      NODE_ENV: 'development'
    },
    env_production: {
      NODE_ENV: 'production'
    }*/
	exec_mode: 'cluster_mode',
	max_memory_restart: '400M', //如果超过指定的内存量,您的应用将重新启动
	log_date_format: 'YYYY-MM-DD HH:mm Z',
	merge_logs: true,
	combine_logs: true,        //如果设置为true,则避免使用进程ID后缀日志文件
	error_file: './logs/app.log',
	out_file: './logs/err.log',
	pid_file: './logs/app.pid',
	exec_interpreter: 'node',
	watch: false
  }]
}

说明:
  • apps:json结构,apps是一个数组,每一个数组成员就是对应一个pm2中运行的应用
  • name:应用程序名称
  • cwd:应用程序所在的目录
  • script:应用程序的脚本路径
  • log_date_format:
  • error_file:自定义应用程序的错误日志文件
  • out_file:自定义应用程序日志文件
  • pid_file:自定义应用程序的pid文件
  • instances:启动的线程数量
  • min_uptime:最小运行时间,这里设置的是60s即如果应用程序在60s内退出,pm2会认为程序异常退出,此时触发重启max_restarts设置数量
  • max_restarts:设置应用程序异常退出重启的次数,默认15次(从0开始计数)
  • cron_restart:定时启动,解决重启能解决的问题
  • watch:是否启用监控模式,默认是false。如果设置成true,当应用程序变动时,pm2会自动重载。这里也可以设置你要监控的文件。
  • merge_logs:
  • exec_interpreter:应用程序的脚本类型,默认是nodejs
  • exec_mode:应用程序启动模式,默认是fork
  • autorestart:启用/禁用应用程序崩溃或退出时自动重启
  • vizion:启用/禁用vizion特性(版本控制)
  • 可以通过pm2 start processes.json来启动。

总结

Error: Cannot find module ‘xxx/pm2/lib/ProcessContainerFork.js’

导致上面错误原因是pm2环境发生了变化,需要删除.pm2文件

 rm -rf ~/.pm2

执行完命令后,重新启动加载

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

好奇新

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值