forever是个CLI(命令行界面)工具,用于保证Node脚本的持续运行,这在Node程序单进程执行时尤为适用。当Node程序异常停止后,forever会立即重启进程,从而保证程序的健壮性和稳定性。
1. 安装forever
为了在所有项目中都可以使用forever,需要使用-g参数全局安装。安装命令如下:
$ [sudo] npm install forever -g
2. forever的用法
forever是一个命令行工具,因此需要在控制台执行命令使用。但forever开发方提供了forever-monitor模块,通过这个模块你可以将forever集成到你的项目中。
2.1 forever start启动脚本
使用forever启动一个Node.js脚本:
forever start app.js
2.2 forever list查看已执行程序
forever list
info: Forever processes running
data: uid command script forever pid id logfile uptime
data: [0] FT5X /usr/local/bin/node appBlog.js 1898 1902 /root/.forever/FT5X.log 118:13:50:58.983
data: [1] Cr8D /usr/local/bin/node app.js 2288 17042 /root/.forever/Cr8D.log 0:19:9:5.419
data: [2] itbilu /usr/local/bin/node bin/itbilu 6893 13671 /root/.forever/itbilu.log 0:13:15:45.611
2.3 forever进程的重启与停止
forever进程的重启与停止分别使用:forever restart SCRIPT和forever stop SCRIPT命令,其中的SCRIPT参数可以是:Id|Uid|Pid|Index|Script。例如,通过进程Uid重启itbilu的进程:
forever restart itbilu
2.4 forever设置进程Uid
从上面的forever list的结果可以看出,索引为[2]的进程Uid为itbilu,通过Uid可以重启或停止对应的Node程,这在使用上比较方便。要设置进程Uid需要在进程启动时添加--uid,如下:
forever start --uid itbilu bin/www
更多forever用法,可以使用forever --help查看使用帮助,也可以在github上查看:forever