06、Centos7.7 pm2安装

参考晓晨大佬文章点我,加上自我实操记录。确保按步骤完全可运行。

  • 1、守护进程
    ==>看到组里大佬用这个很熟练,趁着机会,实操一次。
    ==>中文名字是守护进程,英文“daemon",守护进程是一个在后台运行并且不受任何终端控制的进程,不会随着会话结束而退出。诸如 mysql、apache 等这类程序默认就提供了守护进程或者以守护进程的方式工作,我们熟悉的 “mysqld”、"httpd" 等其中的 d 就是 daemon 的意思。比如我们在 Linux 系统上以命令 dotnet xxx.dll 运行 .NET Core 应用程序时,如果我们结束会话,那么我们的程序将会结束运行。其原因是 Linux 系统中有一个信号机制,进程可以通过一系列信号进行通信,当用户结束会话时,会向当前会话的子进程发送一个 HUP 信号,一般情况下当前会话的子进程收到HUP信号以后就会退出自己。 这时我们就需要一个守护进程来管控我们的 .NET Core 应用程序进程。【ps:这段完全撸大神的原话】
  • 2、让进程守护自己
    Linux 下让进程后台方式很多,举例子:Supervisor、Screen、nohup 命令 等等。Supervisor 是自己创建了一个守护进程,然后让我们的应用程序进程成为其子进程,通过这种管控方式让我们的应用程序后台运行。nohup 顾名思义,就是不向会话进程发送hup信号。
    在这里跟随大佬脚步,就搬出本文的主角 pm2,通过 pm2 来让进程后台运行。
  • 3、pm2简介
    简单说pm2 是一个高级nodejs进程管理工具。为啥专门针对nodejs的工具用来管理netcore,请看大神说法【博主经过长期的在 Linux 下的摸爬滚打,最终发现使用pm2来守护 .NET Core 进程完全没有问题,除了 nodejs 其他的很多程序都是可以的。而且无需繁琐的配置,安装、使用、管理进程都非常简单,这是我选择它的主要原因。】

特别说明
这里需要说明一下是使用 pm2 来让进程后台运行,因为如果不是 nodejs 程序, pm2的一些为nodejs准备的功能可能是无法使用的,但是对于我们守护 .NET Core 应用程序足够了。

pm2安装和使用

  • 4、安装nodejs
    原本打算安全当前最新稳定版本12系列的,但是发现在make时候会报错,所以降低了版本,最终选择了 10版本系列的,再次make,没有报错。
1 |  安装gcc,gc++ |  yum -y install gcc gcc-c++ kernel-devel
2 | 下载源码 | wget https://nodejs.org/dist/v8.11.3/node-v8.11.3.tar.gz     该链接可去官网自己下载[官网](https://nodejs.org/en/download/)

3 |  解码源码 | tar -xzf node-v8.11.3.tar.gz
4 | 编译源码 |  cd node-v8.11.3     进入源代码路径
               ./configure     执行配置脚本【不默认的话可以自定义安装目录,如./configure --prefix=/usr/local/nodejs】
                make  编译
5 | 安装 | make install    安装
6 | 检查 | node -v
          npm -v

在上面第五步完成后,验证第六步可能会出错,有可能是在执行配置文件时,指定了安装目录,但是因为还没有配置环境目录,所以会出错,需要再次配置下环境目录。

配置环境目录:
ln -s /usr/local/nodejs/bin/node  /usr/local/bin/node
ln -s /usr/local/nodejs/bin/npm  /usr/local/bin/npm
其中的/usr/local/nodejs/是自定义的安装目录
配置环境目录
最后结果npm和nodejs版本结果
  • 5、安装pm2
命令: npm install pm2 -g    安装pm2
命令: pm2 -v     可查看当前是否安装成功及版本

在此处其实可能出现pm2 :command not found 问题,其实这个问题可能还是因为在安装配置nodejs时自定义了安装目录的原因,再次配置环境目录,问题完美解决。
解决pm2环境目录问题
  • 6、常用命令
    使用说明
  • 7、设置开机启动
    整个过程其实是在/etc/systemd/system文件目录下生成了pm2-root.service文件,并对文件编辑写入设置。具体可看下图:
pm2 startup   生成开机自启动服务
pm2  unstartup   关闭开机启动服务
pm2 save    保存当前进程状态
systemctl enable pm2-root  设置开机自启
设置过程
1 | 启动守护监视应用程序:pm2 start [要启动的程序名称]    如:pm2 start web.dll
2 | 列出pm2管理的所有状态: pm2 [list | ls | status]
3 | 查看日志: pm2  logs         较旧的日志:pm2  logs --lines 200  
4 | 终端实时仪表盘 :pm2 monit
5 | 基于web的仪表板 :pm2 plus
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容