编程崽

登录

一叶在编程苦海沉沦的扁舟之上,我是那只激情自射的崽

node后台服务器-PM2

node后台服务器-PM2

正常一个node服务,在开发时会直接使用node <node服务文件路径>启动,但启动后需要保持服务窗口存在,不能关闭,否则这个node服务也会关闭,所以这个方法只在本地开发时使用。

pm2的作用就是能够使node服务常驻,并提供一些新的功能,相当于把node服务托管给他。

市面上除了pm2,还有很多其他类似功能的工具,以下为现阶段比较主流的几款。

  • supervisor:开发环境用。
  • nodemon:开发环境使用,修改自动重启。
  • forever:管理多个站点,每个站点访问量不大,不需要监控。
  • pm2:网站访问量比较大,需要完整的监控界面。

其中最优秀的,自然就是pm2了。

以下为pm2常用的部分功能

功能 指令 备注
初次启动 pm2 start <服务文件路径> -n '<服务名称>' -n 可以使用 --name 替换,意思为给服务设置别名
初次启动 npm 指令(初次执行需要再项目文件夹下执行) pm2 -n '<服务名称>' start npm -- run start pm2 -n '服务1' start npm -- run start
再次启动 pm2 start <服务ID>
重启某个服务 pm2 restart <服务文件路径 | 服务ID>
重启所有服务 pm2 restart all
重载某个服务 pm2 reload <服务文件路径 | 服务ID>
重载所有服务 pm2 reload all
停止某个服务 pm2 stop <服务文件路径 | 服务ID>
停止所有服务 pm2 stop all
永久删除某个服务 pm2 delete <服务文件路径 | 服务ID>
永久删除所有服务 pm2 delete all
查看所有的服务列表 pm2 ls
查看所有的进程状态 pm2 status
实时查看某个node服务中的打印信息 pm2 logs <服务ID>
实时查看所有node服务中的打印信息 pm2 logs
查看某一个进程的信息 pm2 describe <服务文件路径 | 服务ID>
超过使用内存上限后自动重启(超过100M自动重启) pm2 start big-array.js --max-memory-restart 100M

安装node.js

官网下载,进行安装

验证是否安装完成的方式,输入以下命令,输出node版本号即可

sh 复制代码
node -v

全局安装node服务进程管理器 - pm2

使用npm进行全局安装

sh 复制代码
npm install pm2 -g

验证是否安装完成的方式,输入以下命令,能输出pm2版本号即可

sh 复制代码
pm2 -v

使用pm2启动node服务

  1. 进入node项目文件夹
  2. 使用以下指令安装此node项目的依赖
sh 复制代码
npm install
  1. 使用以下指令打包项目,项目存放位置为当前目录的./dist文件夹内
sh 复制代码
npm run build
  1. 使用以下命令启动node服务 其中kline是此pm2服务的自定义名称
sh 复制代码
pm2 start ./dist -n kline
  1. 使用以下命令查看pm2中已有的服务列表
sh 复制代码
pm2 ls