使用 pm2 启动守护进程
守护进程,英文名:“daemon”,是一个在后台运行并且不受任何终端控制的进程,不会随着会话结束而退出;就是常说的后台运行。 常见的相应工具有Supervisor和nohup,而pm2相对于Supervisor没有配置,不用输很长的命令、相对于nohup管理进程方便。
# NodeJS
pm2是一个高级的NodeJS进程管理工具,使用pm2需要安装NodeJS,详细操作见下文: Node.JS 环境搭建
# 修改镜像
修改成阿里云镜像
#设置
npm config set registry https://registry.npmmirror.com
#验证
npm config get registry
#返回 https://registry.npmmirror.com 表示成功
1
2
3
4
5
2
3
4
5
# PM2
# 在线安装
安装完NodeJS就可以使用npm
命令了
npm i pm2 -g
ln -s /usr/local/nodejs/bin/pm2 /usr/bin/
1
2
2
# 离线安装
进入模块文件夹:/usr/local/node/lib/node_modules,压缩
cd /usr/local/node/lib/node_modules
tar -czvf pm2.tar.gz pm2
1
2
2
将压缩包拷贝到离线设备 /usr/local/node/lib/node_modules 目录下
cd /usr/local/node/lib/node_modules
tar -zxvf pm2.tar.gz
1
2
2
解压完成后,尝试运行
/usr/local/node/lib/node_modules/pm2/bin/pm2
1
# 软连接
这样我们可以直接使用 pm2 全局命令
#配置 node 变量
ln -s /usr/local/node/lib/node_modules/pm2/bin/pm2 /usr/local/node/bin/pm2
ln -s /usr/local/node/lib/node_modules/pm2/bin/pm2-dev /usr/local/node/bin/pm2-dev
ln -s /usr/local/node/lib/node_modules/pm2/bin/pm2-docker /usr/local/node/bin/pm2-docker
ln -s /usr/local/node/lib/node_modules/pm2/bin/pm2-runtime /usr/local/node/bin/pm2-runtime
#配置全局变量
ln -s /usr/local/node/bin/pm2 /usr/local/bin/pm2
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# 开始使用
# 命令
命令 | 说明 |
---|---|
pm2 update | 更新版本 |
pm2 list | 显示所有进程状态 |
pm2 startup | 产生 init 脚本,保持进程后台运行 |
pm2 monit name | 监视指定(所有)进程,查看进程的资源消耗情况等 |
pm2 log name | 显示指定(所有)日志 |
pm2 stop name(all) | 停止指定(所有)进程 |
pm2 restart name(all) | 重启指定(所有)进程 |
pm2 reload name(all) | 0 秒停机重载进程 (用于 NETWORKED 进程) |
pm2 selete name(all) | 删除指定(所有)进程 |
# 实例
背景:用 .NET Core 搭建了个小应用,可以部署的闲置服务器系统是 Linux,于是先部署了相应的运行环境 Linux 搭建 .NET 环境 (opens new window) 直接将发布后的文件上传到服务器,进入到应用所在目录,执行一下语句即可
.NET Core 应用程序需要 runtimeconfig.json 文件
pm2 start "dotnet test.dll" --name test
pm2 monit test
1
2
2
网页编辑 (opens new window)
最近提交: 2023/03/22, 11:52:35