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 &

在你的任意目录输入命令: npm install pm2 -g

1.找到全局环境PATH路径

输入命令: echo $PATH

回车后: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

你的路径和我的可能不一样,但没关系,你可以选择任何一个以:隔开的路径做为系统环境路径,我通常会选 /usr/local/bin

2:找到pm2的安装路径

在上面输入 npm install pm2 -g 全局安装时

/usr/sbin/nodejs/bin/pm2 ->/usr/sbin/nodejs/lib/node_modules/pm2/bin/pm2

/usr/sbin/nodejs/bin/pm2 是安装路径斗做(你的可能和我的不一样)

3.好了都找到了,

就重要的一步要开始了,好销睁大你的双眼。

命令为: ln -s /usr/sbin/nodejs/bin/pm2 /usr/local/bin/ (注意空格)

格式: ln -s 空格 pm2安装路径 空格 系统环境路径

OK,搞定,接下来验证一把…

[root@iZmwyb7v60px1zZ ~]# pm2 list

回车...

$ pm2 start app.js # 启动app.js应用程序

$ pm2 start app.js –name=”api” # 启动应用程序并命名为 “api”

$ pm2 start app.js –watch # 当文件变化时自动重启应用

$ pm2 start script.sh # 启动 bash 脚本

$ pm2 list # 列表 PM2 启动的所有的应用程序

$ pm2 monit # 显示每个应用程序的CPU和内存占用情况

$ pm2 show [app-name] # 显示应用程序的所有信息

$ pm2 logs # 显示所有应用程序的日志

$ pm2 logs [app-name] # 显示指定应用程序的日志

$ pm2 stop all # 停止所有的应用程序

$ pm2 stop 0 # 停止 id为 0的指定应用程序

$ pm2 restart all # 重启所有应用

$ pm2 reload all # 重启 cluster mode下的所有应用

$ pm2 gracefulReload all # Graceful reload all apps in cluster mode

$ pm2 delete all # 关闭并删除所有应用

$ pm2 delete 0 # 删除指定应用 id 0

$ pm2 scale api 10 # 把名字叫api的应用扩展到10个实例

$ pm2 reset [app-name] # 重置重启数量

$ pm2 startup # 创建开机自启动命令

$ pm2 save # 保存当前应用空袜衡列表

$ pm2 resurrect # 重新加载保存的应用列表

$ pm2 update # Save processes, kill PM2 and restore processes

$ pm2 generate # Generate a sample json configuration file

nodejs一销饥搏般是当成一条命令执行的,当用户断开session,nodejs也就停止了运行。如何让nodejs持续在后台运行呢?

最简单粗肢败暴的方法是使用Linux本身后亏祥台执行的特性

使用&符号后台执行,并利用nohup命令实现进程禁止挂起

nohup node app.js &

forever使用说明

启动相关


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12350026.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存