Open lulujianglab opened 6 years ago
前段时间做了个生成图片的可视化查询系统,该项目的技术栈是vue+express+nodejs+mysql。目前Nodejs开发中有很多痛点,其中一个是修改完代码以后需要我们重启服务器才能看到效果。
vue+express+nodejs+mysql
开发阶段我们使用node file.js来启动Nodejs的单线程,但是任何异常都会导致整个服务中断,那怎样才能在异常后自动重启,保证服务一直在线呢。
接下来介绍本次在项目部署中用到的nodejs的部署方式-PM2。
PM2=P(rocess)M(anager)2,是可以用于生产环境的Nodejs的进程管理工具。不仅可以保证服务不会中断一直在线,并且提供0秒reload功能,还有其他一系列进程管理、监控功能等,而且使用非常简单。
部署项目的目的是为了项目在服务器上持续运行,并且可以实时查看并检查服务器项目的运行情况。
PM2官方文档
npm install -g pm2
pm2 start app.js
start后的第一个参数,直接是nodejs的主程序即可
箭头处表示已开启的服务进程
查看应用的运行状态:pm2 list
查看日志:pm2 logs
重启应用:pm2 restart appId
停止应用:pm2 stop appId
停止所有应用:pm2 stop all
背景
前段时间做了个生成图片的可视化查询系统,该项目的技术栈是
vue+express+nodejs+mysql
。目前Nodejs开发中有很多痛点,其中一个是修改完代码以后需要我们重启服务器才能看到效果。开发阶段我们使用node file.js来启动Nodejs的单线程,但是任何异常都会导致整个服务中断,那怎样才能在异常后自动重启,保证服务一直在线呢。
接下来介绍本次在项目部署中用到的nodejs的部署方式-PM2。
简介
PM2=P(rocess)M(anager)2,是可以用于生产环境的Nodejs的进程管理工具。不仅可以保证服务不会中断一直在线,并且提供0秒reload功能,还有其他一系列进程管理、监控功能等,而且使用非常简单。
部署项目的目的是为了项目在服务器上持续运行,并且可以实时查看并检查服务器项目的运行情况。
PM2官方文档
实例
前期必备
全局安装
运行
start后的第一个参数,直接是nodejs的主程序即可
箭头处表示已开启的服务进程
查看应用的运行状态:pm2 list
查看日志:pm2 logs
重启应用:pm2 restart appId
停止应用:pm2 stop appId
停止所有应用:pm2 stop all