~ D:\workspace\javascript\nodejs-forever>forever start app.js
warn: --minUptime not set. Defaulting to: 1000ms
warn: --spinSleepTime not set. Your script will exit if it does not stay up for at least 1000ms
info: Forever processing file: app.js
打开浏览器: :3000,可以看到web界面
在win下面查看forever状态
复制代码 代码如下:
~ D:\workspace\javascript\nodejs-forever>forever list
info: No forever processes running
~ D:\workspace\javascript\nodejs-forever>forever stop app.js
error: Forever cannot find process with index: app.js
我们发现forever的程序,工作不对了!!程序明明是运行状态,通过list确看不到。接下来,切换成Linux Ubuntu继续测试。
五、forever在Ubuntu进行服务器管理
Linux的系统环境
Linux: Ubuntu 12.04.2 64bit Server
Node: v0.11.2
Npm: 1.2.21
初始化项目:安装命令不解释了
复制代码 代码如下:
~ cd /home/conan/nodejs
~ express -e nodejs-forever
~ cd nodejs-forever && npm install
~ sudo npm install forever -g
启动forever
复制代码 代码如下:
~ forever start app.js
warn: --minUptime not set. Defaulting to: 1000ms
warn: --spinSleepTime not set. Your script will exit if it does not stay up for at least 1000ms
info: Forever processing file: app.js
查看node服务器状态
复制代码 代码如下:
~ forever list
info: Forever processes running
data: uid command script forever pid logfile uptime
data: [0] L2tY /usr/local/bin/node app.js 18276 18279 /home/conan/.forever/L2tY.log 0:0:0:37.792
# 系统进程
~ ps -aux|grep node
Warning: bad ps syntax, perhaps a bogus '-'? See
conan 18296 0.5 1.1 597696 23776 ? Ssl 15:48 0:00 /usr/local/bin/node /usr/local/lib/node_modules/forever/bin/monitor app.js
conan 18299 0.4 0.8 630340 18392 ? Sl 15:48 0:00 /usr/local/bin/node /home/conan/nodejs/nodejs-forever/app.js
# 端口占用
~ netstat -nltp|grep node
tcp 0 0 0.0.0.0:3000 0.0.0.0:* LISTEN 18299/node
停止服务器
复制代码 代码如下:
~ forever stop app.js
info: Forever stopped process:
data: uid command script forever pid logfile uptime
[0] L2tY /usr/local/bin/node app.js 18276 18279 /home/conan/.forever/L2tY.log 0:0:0:45.621
我们看到在Linux Ubuntu环境中是正常的。
六、模拟服务器宕机
两种测试方案:
1. 用Linux命令,直接杀死node进程
2. 在应用中,模拟异常退出
1). 用Linux命令,直接杀死node进程
复制代码 代码如下:
# 查看node进程,PID=18299
~ ps -aux|grep node