过早客
  • 首页
  • 节点
  • 成员
  • 广告投放
  • 登录
  • 注册

PM2 一个守护进程管理器

IT技术 • maliangNS • 发表于 11 月前

PM2 是 node 进程管理工具,可以利用它来简化很多 node应用管理的繁琐任务,如性能监控、自动重启、负载均衡等,而且使用非常简单。

官方

官网
GitHub
文档

PM2简介

PM2原先是nodejs应用的进程管理工具,不过其良好的设计以及扩展性可以手动执行执行进程。

前提

需要nodejs环境

yum install nodejs npm -y

#使用淘宝镜像源
npm config set registry https://registry.npmmirror.com

image.png

安装

最新的 PM2 版本可通过 NPM 或 Yarn 安装:
```sh
npm install pm2@latest -g

or

yarn global add pm2
```

查看应用程序

查看所有被PM2管理的进程列表
sh
pm2 list

使用pm2 list命令报错-bash: pm2: command not found

原因

虽然通过npm install pm2 -g安装了pm2,但是没有配制到全局,此时需要创建一个linux下的软连接。

解决

给pm2程序添加一个软链接。

首先,我们需要找到pm2程序所在路径,通过find / -name pm2找到pm2安装后的所在路径

pm2001.png

接着执行ln -s /opt/software/node/bin/pm2 /usr/local/bin/命令为pm2程序添加软链接

PM2之SpringBoot

Spring Boot开发web应用就像开发普通的java程序一般简洁,因为其内嵌了web容器,启动的时候只需要一条命令java -jar server.jar即可,非常方便。但是由此而来的问题是万一应用挂了怎么办?别担心,有pm2进程管理工具可以帮到你。

PM2基本命令

更多命令请参考:PM2官方文档

# 查看所有被PM2管理的进程列表
pm2 list
# 启动一个应用
pm2 start xxx
# 停止一个应用
pm2 stop xxx
# 重启一个应用
pm2 restart xxx
# 查看应用详情
pm2 describe xxx
# 以下命令,用来保证服务器启动时,pm2管理的程序自动运行
pm2 startup
pm2 save

Java程序处理,在jar的同级目录新建应用启动配置文件,如pm2.json,内容如下:
json
{
// 进程名称(显示在pm2 list命令中)
"name": "my-server",
// 执行进程名称,如果需要执行PHP脚本则填写php解释器的路径,本文为java
"script": "/usr/java/jdk1.8.0_201/bin/java",
// 传给执行进程的参数,多个参数以数组单元分割
"args": [
"-jar",
"server.jar"
],
// NodeJs解析器
"exec_interpreter": "",
// 执行模式[cluster|fork]这个针对NodeJs应用的配置,非NodeJs应用统一fork
"exec_mode": "fork"
}

实战

  1. 在jar的同级目录新建应用启动配置文件,如bbs-rest.json,内容如下:

pm2002.png

  1. 编辑配置文件内容

更多参数请参考:PM2官方文档
json
{
"name": "bbs-rest",
"script": "/usr/lib/jvm/jdk1.8.0_221/bin/java",
"args": [
"-Xms32m",
"-Xmx64m",
"-jar",
"bbs-rest.jar",
"1>>/dev/null",
"2>&1",
"--spring.profiles.active=prod"
],
"exec_interpreter": "",
"exec_mode": "fork"
}

  1. 启动项目 执行启动命令:pm2 start bbs-rest.json

pm2003.png

开机启动

接下来我们要做的是把pm2加入到开机启动中去,以便于pm2会随着服务器开机自启动,运行以下命令:
```sh

在/etc/init.d/目录下生成pm2-root的启动脚本,且自动将pm2-root设为服务

pm2 startup

将当前pm2所运行的应用保存在/root/.pm2/dump.pm2下,当开机重启时,运行pm2-root服务脚本,并且到/root/.pm2/dump.pm2下读取应用并启动

pm2 save
```

加入收藏 新浪微博 分享到微信 ❤赞 1685 次点击 0 人赞 1 人收藏

打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

暂无回复,这事你怎么看
请绑定手机号后,再发言,点击此处
Guozaoke.com—源自武汉的高端交流分享社区
相关主题
打麻将,突发心梗猝死,牌友有没有责任
在路边车位 停过车的要小心了, 后面进了有些他自营停车场,可能 就要补交全部费用 才能出来了
房贷 还得心累,好烦啊。卖了又亏。怎么办
这种家庭矛盾如何破解,请各位支招
这论坛 为什么注销的账号。手机号不能重新注册啊
iOS 过早客没有数据,大佬们求教!
GPT-5
寻有K12教育行业软件开发经验的同学合作
你们都用哪些AI工具,求分享下~
过早客flutter版来了

过早客微信公众号:guozaoke • 过早客新浪微博:@过早客 • 广告投放合作微信:fullygroup50 鄂ICP备2021016276号-2 • 鄂公网安备42018502001446号