前言
linux的后台服务程序需要在后台一直运行。如果通过ssh访问临时启动的,会话一结束就直接关闭了服务。想让服务在后台一直运行且永远不挂掉,推荐后台服务守护进程神器pm2,强大且适用于各种语言的后台服务程序。
pm2介绍
对于后台进程的管理,常用的工具是crontab,可用于两种场景:定时任务和常驻脚本。关于常驻脚本,今天介绍一款更好用的工具:pm2,基于nodejs开发的进程管理器,适用于后台常驻脚本管理,同时对node网络应用有自建负载均衡功能。pm2 是一个带有负载均衡功能的Node应用的进程管理器,pm2支持多种开发语言,只是对于除node之外的其他进程无负载均衡的能力。
主要特性
1.内建负载均衡(使用 Node cluster 集群模块)
2.后台运行
3.0 秒停机重载
4.具有 Ubuntu 和 CentOS 的启动脚本
5.停止不稳定的进程(避免无限循环)
6.控制台检测
7.提供 HTTP API
8.远程控制和实时的接口 API(Nodejs 模块,允许和 PM2 进程管理器交互)
pm2安装
由于pm2是nodejs环境下的进程守护神器,所以需要先下载安装nodejs. 在linux下的安装很简单,直接sudo apt-get install nodejs即可。下载安装完,注意替换npm的镜像源,否则软件依赖包容易下载失败。
修改成淘宝镜像源
1.命令
npm config set registry https://registry.npmmirror.com/
2.验证命令
npm config get registry
如果返回https://registry.npmmirror.com/,说明镜像配置成功。
修改成华为云镜像源
npm config set registry https://mirrors.huaweicloud.com/repository/npm/
安装pm2
npm install pm2 -g
pm2使用
pm2常用命令
常用命令通常都是比较简单。下面列举一些pm2常用的管理命令:
-
pm2 start <script_file|config_file> [options] 启动指定应用,如pm2 start index.js --name httpServer;
-
pm2 stop <appName> [options] 停止指定应用,如pm2 stop httpServer;
-
pm2 reload|restart <appName> [options] 重启指定应用,如pm2 restart httpServer;
-
pm2 show <appName> [options] 显示指定应用详情,如pm2 show httpServer;
-
pm2 delete <appName> [options] 删除指定应用,如pm2 del httpServer,如果修改应用配置行为,最好先删除应用后,重新启动方才生效,如修改脚本入口文件;
-
pm2 kill 杀掉pm2管理的所有进程;
-
pm2 logs <appName> 查看指定应用的日志,即标准输出和标准错误;
-
pm2 monit 监控各个应用进程cpu和memory使用情况;
-
pm2 list,查看所有被pm2守护的进程信息。
其他资源
npm ERR! Cannot read property ‘insert‘ of undefined报错处理_吴砖家呀的博客-CSDN博客
NPM设置国内不同镜像_npm 国内镜像_wangshan_aqi的博客-CSDN博客
自用 Node.js 安装配置_apt get 安装nodejs_摸鱼芝士的博客-CSDN博客
pm2详解_starky0729的博客-CSDN博客
使用pm2管理go应用进程_pm2 go_特立独行的猫a的博客-CSDN博客