ubuntu后台执行node

Linux,Node.js 2017-06-12

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

  • 使用nohup命令
    sudo nohup node ./bin/www &
    &这个是代表放在后台运行
    如果上面的命令行运行成功了,你使用jobs命令显示出当前后台运行的进程
  • 修改/etc/rc.d/rc.local文件
    把要执行的命令写入这个文件。因为这个文件是开机启动项,每次开机的时候,系统会去touch它然后会执行这些命令行。
  • 使用系统定时任务,让系统在指定时间执行某个后台任务

上面三种方法来自慕课网 Linux教程

  • 使用 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  
  • 使用 pm2
npm install -g pm2
pm2 start app.js -i max //启动一个使用所有CPU核心的集群
pm2 list  //列出所有pm2开启的进程
pm2 monit
pm2 logs //打印日志

以上两种来自网上博客资料未经验证


本文由 阿涛 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。

还不快抢沙发

添加新评论