后台服务守护进程神器pm2介绍及使用

简介: 后台服务守护进程神器pm2介绍及使用

前言


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博客

相关实践学习
部署高可用架构
本场景主要介绍如何使用云服务器ECS、负载均衡SLB、云数据库RDS和数据传输服务产品来部署多可用区高可用架构。
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
2月前
|
Unix Shell Linux
Linux 终端和进程的关系,以及在终端前后台切换进程
Linux 终端和进程的关系,以及在终端前后台切换进程
42 1
|
2月前
|
Linux Shell
Linux 进程的前台/后台切换
当你用shell启动一个程序时,往往他是在前台工作的。程序会一直占用终端命令行,例如你在前台解压的时候必须等着,期间干不了别的事(除非另开一个终端)。 例如经常用连接到远程服务器执行脚本的时候,如果本地网络中断后,这个时候前台进程就结束了,比较的懊恼,必须重新执行。
52 6
|
1月前
|
监控 Java Linux
linux下监控java进程 实现自动重启服务
linux下监控java进程 实现自动重启服务
|
2月前
|
前端开发 Android开发 iOS开发
应用研发平台EMAS使用 aliyun-react-native-push 库接入推送和辅助通道,推送都可以收到,但是在App切到后台或者杀掉进程之后就收不到推送了,是需要配置什么吗?
【2月更文挑战第31天】应用研发平台EMAS使用 aliyun-react-native-push 库接入推送和辅助通道,推送都可以收到,但是在App切到后台或者杀掉进程之后就收不到推送了,是需要配置什么吗?
32 2
|
3月前
|
机器学习/深度学习 安全 API
如何在 Python 中启动后台进程?
如何在 Python 中启动后台进程?
82 1
|
4月前
|
算法 Linux 开发者
【Linux】后台进程
【Linux】后台进程
51 0
|
4月前
|
Linux
遇到Linux 端口占用时如何查看并杀掉服务进程
遇到Linux 端口占用时如何查看并杀掉服务进程
|
4月前
|
Shell 网络安全
在Shell中,后台进程管理
在Shell中,后台进程管理
41 4
|
5月前
|
Kubernetes Cloud Native Linux
云原生|kubernetes |kubelet服务加入系统守护进程supervisor(centos7系统下演示通过)
云原生|kubernetes |kubelet服务加入系统守护进程supervisor(centos7系统下演示通过)
64 0
|
5月前
|
缓存 负载均衡 算法
百度搜索:蓝易云【如何优化Nginx服务进程详细。
优化Nginx服务进程是一个持续的过程,需要不断地监测和调整。建议在优化之前备份配置文件,并逐步应用和测试每个优化步骤的效果,以确保服务的稳定性和可靠性。
28 0