使用forever管理NodeJs应用
1. forever介绍
forever是一个简单的命令式nodejs的守护进程,能够启动,停止,重启App应用。forever完全基于命令行操作,在forever进程之下,创建node的子进程,通过monitor监控node子进程的运行情况,一旦文件更新,或者进程挂掉,forever会自动重启node服务器,确保应用正常运行。
Github地址:https://github.com/nodejitsu/...
用途:
forever的用途就是帮我们更好的管理我们node App服务,本质上就是在forever进程之下,创建一个node app的子进程。比如,你有一个基于express的或者其他的一些个应用那么,它将会很方便你更新和操作你的服务,并且保证你服务能持续运行。
更好的一点就是每次更改文件,它都可以帮你自动重启服务而不需要手动重启。
2. forever安装
forever需要安装到全局环境下[sudo] npm install forever -g
3. forever使用
- 简单的启动
forever app.js #前台进程
forever start 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默认是不能覆盖上次的启动日志
forever start -l forever.log -a app.js
- 监听当前文件夹下的所有文件改动
forever start -w 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]
- 启动所有
forever restartall
4. forever命令行的中文解释
子命令actions
start
:启动守护进程stop
:停止守护进程stopall
:停止所有的forever进程restart
:重启守护进程restartall
:重启所有的foever进程list
:列表显示forever进程config
:列出所有的用户配置项set <key> <val>
: 设置用户配置项clear <key>
: 清楚用户配置项logs
: 列出所有forever进程的日志logs <script|index>
: 显示最新的日志columns add <col>
: 自定义指标到forever listcolumns rm <col>
: 删除forever list的指标columns set<cols>
: 设置所有的指标到forever listcleanlogs
: 删除所有的forever历史日志
配置参数options:
-m MAX
: 运行指定脚本的次数-l LOGFILE
: 输出日志到LOGFILE-o OUTFILE
: 输出控制台信息到OUTFILE-e ERRFILE
: 输出控制台错误在ERRFILE-p PATH
: 根目录-c COMMAND
: 执行命令,默认是node-a, –append
: 合并日志-f, –fifo
: 流式日志输出-n, –number
: 日志打印行数–pidFile
: pid文件–sourceDir
: 源代码目录–minUptime
: 最小spinn更新时间(ms)–spinSleepTime
: 两次spin间隔时间–colors
: 控制台输出着色–plain
: –no-colors的别名,控制台输出无色-d, –debug
: debug模式-v, –verbose:
打印详细输出-s, –silent
: 不打印日志和错误信息-w, –watch
: 监控文件改变–watchDirectory
: 监控顶级目录–watchIgnore
: 通过模式匹配忽略监控-h, –help
: 命令行帮助信息
欢迎订阅「K叔区块链」 - 专注于区块链技术学习
博客地址:http://www.jouypub.com
简书主页:https://www.jianshu.com/u/756c9c8ae984
segmentfault主页:https://segmentfault.com/blog/jouypub
腾讯云主页:https://cloud.tencent.com/developer/column/72548