本文主要是介绍【node】利用PM2实现 node服务器 后台运行和自动重启,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
转载自杨成功的博文 【node】利用PM2实现 node服务器 后台运行和自动重启
用 express 成功搭建起了项目骨架,接下来要进行开发了。如果你已经做过了 demo,那么你可能会遇到以下问题:
npm start
启动服务器之后,只能挂在那里,不能退出。如果你想执行其他的命令,需要另外开一个终端窗口;如果你连接的是远程服务器,比如阿里云的 Linux 服务器,当你关闭终端的时候,服务器同样会断开;
你在修改代码文件之后,刷新浏览器,发现修改的内容并没有生效,你必需手动断开服务器,再启动,修改才会生效。
解决这些麻烦,我们需要服务器至少有两个能力:后台运行
和自动重启
;
后台运行,最简单的方法是用 Linux 自带命令nohup
,实现进程后台执行:
nohup bin/www &
执行成功之后,node服务就后台运行了;同时会在当前目录下生成 nohup.out
文件,起到日志的作用
自动重启,之前一直用 nodemon
这个模块,npm 全局安装,执行 nodemon app.js
之后,就会监测文件改变自动重启服务器
如果说要同时实现这两个功能,你可能会想到forever
,不错,但是这里我们要说pm2
,你可以把 pm2 当做 forever 的升级版,具体差别自行 Google。
pm2 除了后台运行和自动重启(0秒重启)这些基本功能外,还有进程管理,系统监控,日志处理,负载均衡,还有计划之中的内存泄露监测,web界面,邮件通知等(作为小白的我目前用它基本功能就足够啦哈哈),附上用法:
npm install pm2 -g #全局安装pm2
pm2 start bin/www #启动服务器
pm2 list #查看运行状态
pm2 logs #查看日志
pm2 restart www #重启应用
pm2 stop www #停止应用
www
是用 pm2 启动进程的名称,执行pm2 list
查看,如下图:
马上动手试试吧!
这篇关于【node】利用PM2实现 node服务器 后台运行和自动重启的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!