在linux服务器下不可能一直使用shell运行node服务,所以需要后台运行。
今天在搜索怎么后台运行node的时候,找到的是使用forever包
但是遇到了版本问题的警告等等。我在这里重现一下。
node版本v14.17.0
forever守护进程管理(旧版本,不推荐)
这是旧的一个工具
首先下载就开始报各种警告。
# 启动 某个服务
forever start server.js
然后就会有一个padlevels
的警告,应该就是node版本太高的问题
报错非常影响信息的查看,所以我最后是用PM2了。
注意如果你安装了forever,你需要先暂停所有的服务,再卸载forever,否则forever已经启动的守护进程依旧会在后台运行。
# 停止所有服务
forever stopall
# 卸载
npm uninstall forever -g
github源码https://github.com/foreversd/forever
看到上面也是推荐新的下载者去使用PM2
PM2守护进程管理器(最新)
适合用于生产环境,即服务器上面部署。
PM2是守护程序进程管理器,它将帮助您管理和保持应用程序在线。
PM2守护node进程不被停止,发布到线上时使用。
PM2官网链接——https://pm2.keymetrics.io/docs/usage/quick-start/
全局下载命令:npm install pm2 -g
查看版本pm2 -v
创建启动一个守护进程服务 pm2 start server.js
查看全部:pm2 ls
启动或者停止已创建的服务:pm2 start[id/name]
,pm2 stop [id/name]
其他的一些参数设置什么的可以直接查看官网,这里就不过多描述了。
nodemon热更新node本地服务
适合用于开发环境。所以我是在windows下载的。
Nodemon是一个受150万个项目依赖的实用程序,它将监视源中的任何更改并自动重新启动服务器。
使用nodemon命令代替node命令,来实现热更新,而不需要不断地停止服务,启动服务。
npm install -g nodemon
node -v
nodemon server.js
可以看到我修改了文件后子哦对那个重新启动了。
修改前:
修改后:
其他参数配置参考github官方文档https://github.com/remy/nodemon#nodemon