Node.js

Ubuntu后台执行node

2019-06-09  本文已影响0人  帅的潇洒

我们用ssh远程登录,打开的node服务,只要我们终端关闭,就会出现node服务被杀死的情况。这是因为Linux的自身机制,如果要解决这个在后台运行的问题,可以有如下方法

1.使用nohup命令

sudo nohup node ./bin/www &

&这个是代表放在后台运行
如果上面的命令行运行成功了,你使用jobs命令显示出当前后台运行的进程

2.修改/etc/rc.d/rc.local文件

把要执行的命令写入这个文件。因为这个文件是开机启动项,每次开机的时候,系统会去touch它然后会执行这些命令行。

3.使用系统定时任务,让系统在指定时间执行某个后台任务

4.使用 forever

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

//全局安装
npm install forever -g 
//启动       
forever start app.js 
//关闭         
forever stop app.js           
//输出日志和错误
forever start -l forever.log -o out.log -e err.log app.js
//自动监控文件变化,文件修改保存之后自动重启app.js      
forever -w app.js  
//查看帮助           
forever -h  

5.使用 pm2

npm install -g pm2
pm2 start app.js -i max //启动一个使用所有CPU核心的集群
pm2 list  //列出所有pm2开启的进程
pm2 monit
pm2 logs //打印日志
上一篇 下一篇

猜你喜欢

热点阅读