使用forever让node.js持久运行

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

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


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

nohup node app.js &

使用forever让node.js持久运行


npm install forever -g   #安装
forever start app.js  #启动应用
forever stop app.js  #关闭应用
forever restartall  #重启所有应用

#输出日志和错误
forever start -l forever.log -o out.log -e err.log app.js   

# 指定forever信息输出文件,当然,默认它会放到~/.forever/forever.log
forever start -l forever.log app.js  

# 指定app.js中的日志信息和错误日志输出文件,  
# -o 就是console.log输出的信息,-e 就是console.error输出的信息
forever start -o out.log -e err.log app.js 

# 追加日志,forever默认是不能覆盖上次的启动日志,  
# 所以如果第二次启动不加-a,则会不让运行  
forever start -l forever.log -a app.js

# 监听当前文件夹下的所有文件改动(不太建议这样)  
forever start -w app.js  

# 显示所有运行的服务 
forever list  

######停止操作

# 停止所有运行的node App  
forever stopall  
  
# 停止其中一个node App  
forever stop app.js  

# 当然还可以这样  
# forever list 找到对应的id,然后:  
forever stop [id]

# 开发环境下  
NODE_ENV=development forever start -l forever.log -e err.log -a app.js  
# 线上环境下  
NODE_ENV=production forever start -l ~/.forever/forever.log -e ~/.forever/err.log -w -a app.js
#上面加上NODE_ENV为了让app.js辨认当前是什么环境用的

The End


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

推荐阅读更多精彩内容

  • Node.js是目前非常火热的技术,但是它的诞生经历却很奇特。 众所周知,在Netscape设计出JavaScri...
    Myselfyan阅读 4,099评论 2 58
  • 本文由我首发于 GitChat 中。 前言 在 Node.js 开发领域中,原生 C++ 模块的开发一直是一个被人...
    機巧死月不會碼代碼阅读 5,265评论 6 24
  • 目录Nodejs的介绍15个Nodejs应用场景Nodejs学习路线图 Nodejs的介绍Node.js的是建立在...
    寒剑飘零阅读 10,404评论 3 205
  • 南乡子.端午 阴色铺山村。 隔窗长听鸟叫晨。 欲起又卧浑无力, 病深, 侧向汩罗空祭魂。 世事如流莺。 季节斗转无...
    寺咀山主人阅读 340评论 2 4
  • 看着一个点着迷的时候,他就这样从我的车窗外面,一闪一闪的靠近,又一闪一闪的远去,一点点变小,当他消失在我的视...
    豪风怡然阅读 315评论 0 1