lulujianglab/blog

PM2—nodejs项目部署

Opened this issue · 0 comments

背景

前段时间做了个生成图片的可视化查询系统,该项目的技术栈是vue+express+nodejs+mysql。目前Nodejs开发中有很多痛点,其中一个是修改完代码以后需要我们重启服务器才能看到效果。

开发阶段我们使用node file.js来启动Nodejs的单线程,但是任何异常都会导致整个服务中断,那怎样才能在异常后自动重启,保证服务一直在线呢。

接下来介绍本次在项目部署中用到的nodejs的部署方式-PM2。

简介

PM2=P(rocess)M(anager)2,是可以用于生产环境的Nodejs的进程管理工具。不仅可以保证服务不会中断一直在线,并且提供0秒reload功能,还有其他一系列进程管理、监控功能等,而且使用非常简单。

部署项目的目的是为了项目在服务器上持续运行,并且可以实时查看并检查服务器项目的运行情况。

PM2官方文档

实例

前期必备

  • node环境
  • npm

全局安装

npm install -g pm2

运行

pm2 start app.js 

start后的第一个参数,直接是nodejs的主程序即可

image

箭头处表示已开启的服务进程

查看应用的运行状态:pm2 list

查看日志:pm2 logs

重启应用:pm2 restart appId

停止应用:pm2 stop appId

停止所有应用:pm2 stop all

image