nodejs服务后台持续运行三种方法

nodejs服务后台持续运行三种方法,第1张

forever是一个nodejs守护进程,完全由命令行操控。forever会监控nodejs服务,并在服务挂掉后进行重启

1、安装 forever

npm install forever -g

2、启动服务

service forever start

3、使用 forever 启动 js 文件

forever start index.js

4、停止 js 文件

forever stop index.js

5、启动js文件并输出日志文件

forever start -l forever.log -o out.log -e err.log index.js

6、重启js文件

forever restart index.js

7、查看正在运行的进程

forever list

pm2是一个进程管理工具,可以用它来管理你的node进程,并查看node进程的状态,当然也支持性能监控,进程守护,负载均衡等功能

npm install -g pm2

pm2 start app.js    // 启动

pm2 start app.js-i max   //启动 使用所有CPU核心的集群

pm2 stop app.js       // 停止

pm2 stop all             // 停止所有

pm2 restart app.js    // 重启

pm2 restart all          // 重启所有

pm2 delete  app.js     // 关闭

运行 pm2 startup ,即在/etc/init.d/目录下生成pm2-root的启动脚本,且自动将pm2-root设为服务。

运行 pm2 save ,会将当前pm2所运行的应用保存在/root/.pm2/dump.pm2下,当开机重启时,运行pm2-root服务脚本,并且到/root/.pm2/dump.pm2下读取应用并启动。

nodejs 自带node.js自带服务nohub,不需要安装别的包。

缺点:存在无法查询日志等问题,关闭终端后服务也就关闭了, 经测试是这样的。

nohup node ***.js &

例如nodejs的主文件是index.js:

1.安装forever(pm2)模块,进行启动

说明:forever是一个简单的命令式nodejs的守护进程,能够启动,停止,重启App应用。forever完全基于命令行操作,在forever进程之下,创建node的子进程,通过monitor监控node子进程的运行情况,一旦文件更新,或者进程挂掉,forever会自动重启node服务器,确保应用正常运行。

命令:

npm install -g forever

forever start index.js

2.用nohub命令

说明:将任务放到后台,但是依然可以使用标准输入,前台能够接收任何输入,重定向标准输出和标准错误到当前目录下的nohup.out文件,即使关闭xshell退出当前session依然继续运行。

命令:

nohup node index.js &

这里我只介绍一下linux的方法:

1、我们可以通过修改代码里面的监听端口,然后重新运行。

这样会导致一个问题是,服务器的监听端口越来越多,会给服务器带来些许的压力,这种方法也是不可取的,没运行一次监听一个新端口,当然不是我们所希望的啦;

2、使用nodemon运行js

nodemon是一个nodejs的版本管理器,会自动在后台帮我们监控服务器端的程序是否会发生变化。如变化,立即重启服务器(这个重启会造成什么样的影响?)

用例:nodemon index.js;

安装:npm install nodemon -g //install it

文档地址:https://github.com/remy/nodemon

因为用npm安装的,那么 usr/bin/ 目录下默认的是nodejs,所以需要先 ln -s /usr/bin/nodejs /usr/bin/node 创建alias

3、使用node-dev index.js

下载安装,使用方法参考https://github.com/fgnass/node-dev

4、ctrl+c,在进程的shell中杀死进程端口

5、如果在3不小心使用ctrl+z后台运行,

可以用fg命令再调到前台继续运行,也可以通过使用netstat -nap | grep node查看监听的端口的进程id,然后使用kill -9 进程id 来手动杀死进程(限linux下使用);


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/397718.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-19
下一篇2023-05-19

发表评论

登录后才能评论

评论列表(0条)

    保存