ubuntu后台执行node

我们用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 //打印日志

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • <<编程基础-语言JavaScript.Nodejs.Mobile>>https://github.com/ope...
    燕京博士阅读 1,035评论 0 2
  • Node.js是目前非常火热的技术,但是它的诞生经历却很奇特。 众所周知,在Netscape设计出JavaScri...
    w_zhuan阅读 3,646评论 2 41
  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 99,701评论 9 468
  • 简单介绍 Micro是一个用来简化微服务开发的框架,提供了如下功能: Go Micro - 基于Golang的插件...
    auguszou阅读 2,116评论 2 4
  • 在一处低矮的山坡上,住着枫树妹妹阿红。 站在山坡上远眺,远处连绵起伏的大山如波涛翻滚;大山脚下是一片稻田,黄澄...
    知愚姑娘阅读 610评论 2 5