如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留链接信息。

春风吹战鼓擂,又到了苏南大叔和大家分享编程经验的时刻了。本篇文章里面,苏南大叔将给大家简要介绍一下pm2的安装和使用方法。pm2是从nodejs衍生出来的服务器进程管理工具,可以做到开机就启动nodejs。当然了,有些运维同学是用nohup来做这件事情的。效果上差不多,不过pm2这个工具更加高大上一些。以后的文章中,我们可以再探讨nohup这个命令的使用方法。

前言

pm2往往和forever并列在一起进行讨论,但是试用了两者之后,你就会发现,pm2才是你真正想要的工具。forever目前做的还远远不够好。

既然我们的主要目的是部署基于nodejs的网站程序,那么前提当然是安装了node,关于node的安装,苏南大叔以前的文章里面有过提及,比如在centos下面安装node:https://newsn.net/say/centos7-make-node-env.html 。在mac和win下面因为安装过于简单,这里就不必详细说明了。

全局安装pm2

安装好node环境后,我们需要全局安装pm2

npm install pm2 -g

安装完毕后,就可以愉快的使用pm2命令了。

使用pm2命令的时候,为了不报错,最好跟上sudo的字样。但是建议您先阅读一下这篇文章,再决定是否使用sudo。《pm2命令与sudo的爱恨情仇》,https://newsn.net/say/mac-pm2-sudo.html

  • brew则是恰恰相反,带上sudo的字样,才会报错。
  • 当然,sudo指的是mac系统,您如果是win系统,请完全忽视sudo字样。

node程序的部署神器pm2的基本使用 - 001
node程序的部署神器pm2的基本使用(图3-1)

把pm2加入开机启动

sudo pm2 startup

一般来说,pm2 startup即可,会根据当前系统自动识别加入开机启动项的方式。因为不同系统的情况下,开机启动项的加载方式是不一样的。当然,你也可以指定一下当前系统的类型。具体可以参考相关文档。

当然,这里也可以指定startup的启动用户,例如:

sudo pm2 startup -u sunan

这样指定的话,pm2的启动身份,就是sunan,而不是root了。如果你有需要,可以增加相关参数-u。

node程序的部署神器pm2的基本使用 - pm2_strartup_done
node程序的部署神器pm2的基本使用(图3-2)

启动任务

cd到对应目录后,使用pm2 start命令启动对应js,并保存。

pm2 start pm2.json
pm2 start <js文件相对路径>
pm2 start <json的任务描述文件相对路径>
pm2 start server/app.js
pm2 start server/app.json

上面的命令,需要您根据实际情况任选一条。

sudo pm2 save

pm2 start 这个命令是重点,整个部署的核心所在,苏南大叔将在下一篇文章中详细再说明一下pm2 start的几种变形,常规上来说,一般跟的是js的文件路径,或者是个json描述文件,甚至是个sh文件。

pm2 save的这个命令,因为实际上会把当前pm2 start的情况写入到配置文件中,所以需要个sudo权限。

查看所有pm2任务及删除pm2任务

pm2 list
sudo pm2 delete <task name>
sudo pm2 save

node程序的部署神器pm2的基本使用 - pm2_list
node程序的部署神器pm2的基本使用(图3-3)

结语

上述操作完成后,你如果再次重新启动服务器的话,就会发现,你的nodejs网站已经自动为你启动完成了。是不是好开心的节奏。

到这里,就介绍完pm2的基本命令使用了。对于一般的部署情况来说,这些就足够了。但是事情往往不会那么一帆风顺的,所以,大家可以继续期待苏南大叔的后续pm2相关进阶文章。 https://newsn.net/tag/pm2/

 【js】秘籍文章入口,仅传授于有缘之人   js    node

本站的忠实读者小伙伴,正在阅读下面这些文章:

欢迎转载传播本篇原创文章,转载请保留链接及作者信息。
欢迎指正文字或逻辑错误,将会择优在文末列出您的信息。
本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享。
转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议。
程序如此灵动~》下所有原创文章,如被用于商业用途,请您按规定支付稿费。

苏南大叔需要你的支持

感谢您的打赏,让我更有动力,将更多精彩教程文章,呈现给大家!谢谢!