暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

centos7安装pm2

IT运维大爆炸 2022-09-19
1144

1、简介

对于后台进程的管理,常用的工具是crontab,可用于两种场景:定时任务和常驻脚本。关于常驻脚本,今天介绍一款更好用的工具:pm2,基于nodejs开发的进程管理器,适用于后台常驻脚本管理,同时对node网络应用有自建负载均衡功能。官方的说法,pm2 是一个带有负载均衡功能的Node应用的进程管理器,个人认为,并不准确,因为pm2支持多种语言,只是对于除node之外的其他进程无负载均衡的能力。

2、为什么要用pm2

对于线上项目,如果直接通过 node app
来启动,因为 node 是单线程的,所以如果报错了可能会使项目直接停止,从而导致整个服务崩溃。

一般监控 node 有几种方案:

  1. supervisor: 一般用作开发环境的使用;

  2. forever: 管理多个站点,一般每个站点的访问量不大的情况,不需要监控;

  3. PM2: 网站的访问量比较大,需要完整的监控页面。

3、pm2特点

  • 后台运行:普通启动方式:node index.js,关闭终端就结束进程; pm2可以后台运行,终端关闭不影响。

  • 自动重启:可以监听某些文件改动,自动重启。

  • 停止不稳定的进程:限制不稳定的重启的次数,达到上限就停止进程。

  • 0 秒停机重启:集群模式下,可以达到重启时不停止服务。

  • 简单日志管理:pm2可以收集日志,并有插件配合进行管理。后面会提到。

  • 自动负载均衡:cluster模式下,会自动使用轮询的方式达到负载均衡,从而减轻服务器的压力。

  • 提供实时的接口:pm2插件提供实时的接口,返回服务器与进程的信息,后面会提到。

  • 集成管理:对于多个进程,不同环境,可以统一配置,方便管理。

4、安装

安装epel源

[root@10-60-249-255 ~]# yum install epel-release -y

需要先安装nodejs

[root@10-60-249-255 ~]# yum install nodejs -y

需要先安装npm

[root@10-60-249-255 ~]# yum  -y install npm

设置淘宝镜像和安装淘宝cnpm

[root@10-60-249-255 ~]# npm config set registry https://registry.npm.taobao.org
[root@10-60-249-255 ~]# npm install -g cnpm --registry=https://registry.npm.taobao.org

安装升级node版本工具

[root@10-60-249-255 ~]# npm install -g n

安装pm2工具

[root@10-60-249-255 ~]# npm install -g pm2

5、启动进程

app.js是node的启动文件,控制台会有如下打印。

  1. 其中app name 和id都是这个进程的标识,可以对他们进行别的操作,比如stop,delete等。

  2. mode:进程模式,cluster或fork。cluster有多个进程,而fork只有一个。

  3. status:进程是否在线。

  4. restart:重启次数。

  5. uptime:运行时间。

  6. cpu:cpu占用率。

  7. mem:内存占用大小。

6、pm2工具帮助使用

pm2 start app.js  #启动app项目

pm2 list #列出由pm2管理的所有进程信息,还会显示一个进程会被启动多少次,因为没处理的异常。

pm2 monit #监视每个node进程的CPU和内存的使用情况

pm2 logs #显示所有进程日志

pm2 stop all #停止所有进程

pm2 restart all #重启所有进程

pm2 reload all #0秒停机重载进程 (用于 NETWORKED 进程)

pm2 stop 0 #停止指定的进程

pm2 restart 0 #重启指定的进程

pm2 startup #产生 init 脚本 保持进程活着

pm2 web #运行健壮的 computer API endpoint (http://localhost:9615)

pm2 delete 0 #杀死指定的进程

pm2 delete all #杀死全部进程

欢迎大家扫码关注:

本公众号只写原创,不接广告、不接广告、不接广告。下期小伙伴想学习什么技术,可以私信发我吆。


文章转载自IT运维大爆炸,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论