PM2使用

获取ai编程助手
豆包
https://www.marscode.cn/events/s/ikeQ6STT/

安装NVM

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
source ~/.bashrc
nvm install node
node -v

安装NODE

nvm ls-remote
nvm install 18.19.0
nvm use 18.19.0
node -v

安装PM2

npm install -g pm2

启动

pm2 start app.js (如果提示找不到命令且你已安装成功,则可能你没有配置环境变量,需要自己手动配一下)

参数说明:

  • --watch:监听应用目录的变化,一旦发生变化,自动重启。如果要精确监听、不见听的目录,最好通过配置文件。
  • -i --instances:启用多少个实例,可用于负载均衡。如果-i 0或者-i max,则根据当前机器核数确定实例数目。
  • --ignore-watch:排除监听的目录/文件,可以是特定的文件名,也可以是正则。比如--ignore-watch="test node_modules "
  • -n --name:指定应用的名称。查看应用信息的时候可以用到。
  • -o --output <path>:标准输出日志文件的路径。
  • -e --error <path>:错误输出日志文件的路径。
  • --interpreter <interpreter>:the interpreter pm2 should use for executing app (bash, python…)。比如你用的coffee script来编写应用。
  • -x:用fork模式启动app.js,而不是cluster模式
  • fork模式:单实例多进程,常用于多语言混编,比如php、python等,不支持端口复用,需要自己做应用的端口分配和负载均衡的子进程业务代码。
    • 缺点:就是单服务器实例容易由于异常会导致服务器实例崩溃。
  • cluster模式:多实例多进程,但是只支持node,端口可以复用,不需要额外的端口配置,0代码实现负载均衡。
    • 优点:就是由于多实例机制,可以保证服务器的容错性,就算出现异常也不会使多个服务器实例同时崩溃。

例子:

  • pm2 start app.js --watch:实时监控的方式启动,app.js文件有变动时,pm2会自动reload(重启)
  • pm2 start app.js -i max:根据有效CPU数目启动最大进程数目
  • pm2 start app.js -i 3:启动3个进程
  • pm2 start app.js --ignore-watch="test node_modules":排除监听的目录/文件
  • pm2 start app.js --name mynode:启动一个进程并把它命名为mynode
  • pm2 start app.json:启动进程, 可以在 app.json里设置选项
  • pm2 start app.js -i max - -z 10:在 – 之后给 app.js 传递参数(-z 10)

查看与监视进程

  • pm2 list:显示所有进程信息;
  • pm2 show 11pm2 info 11:查看进程id为 11 的详细信息;
  • pm2 monit:进入监视页面,监视每个node进程的CPU和内存的使用情况。

重载、重启

  • pm2 restart 11:重启id为 11 的进程;
  • pm2 restart all:重启所有进程;
  • pm2 reload 11:0秒停机重载id为 11 进程(用于 NETWORKED 进程);
  • pm2 reload all:重载所有进程;

停止、删除进程

  • pm2 stop/delete 11:停止/删除id为 11 的进程;
  • pm2 stop/delete all:停止/删除所有进程;

日志操作

  • pm2 logs:显示所有进程的日志;
  • pm2 logs 11:显示进程id为 11 的日志;
  • pm2 flush:清空所有日志文件;
  • pm2 reloadLogs:重载所有日志;
  • pm2 startup:产生 init 脚本,保持进程活着;

杀进程

  • pm2 kill:杀死pm2进程 ;

开机自动启动

1、通过pm2 save保存当前进程状态。
2、通过pm2 startup [platform]生成开机自启动的命令。例如:pm2 startup centeros
3、将步骤2生成的命令,粘贴到控制台进行,搞定。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值