利用forever确保nodejs在后台运行,不会down掉
//配置好yum源# yum -y install npm
//-g参数将forever按照到全局环境下
# npm install forever -g
# mkdir /nodejs/log
//添加forever服务启动脚本
# vi /etc/init.d/forever
#!/bin/bash
### BEGIN INIT INFO
# Provides: xiyoulib
# Required-Start: $all
# Required-Stop: $all
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time
# Description: Enable service provided by daemon.
### END INIT INFO
# chkconfig: 345 88 08
# description: Forever for Node.js
DEAMON=/nodejs/app.js
LOG=/nodejs/log/log
PID=/nodejs/pid
export PATH=$PATH:/usr/bin
export NODE_PATH=$NODE_PATH:/usr/lib/node_modules
node=node
forever=forever
case "$1" in
start)
$forever start -l $LOG --pidFile $PID -a $DEAMON
;;
stop)
$forever stop --pidFile $PID $DEAMON
;;
stopall)
$forever stopall --pidFile $PID
;;
restartall)
$forever restartall --pidFile $PID
;;
reload|restart)
$forever restart -l $LOG --pidFile $PID -a $DEAMON
;;
list)
$forever list
;;
*)
echo "Usage: /etc.init.d/node {start|stop|restart|reload|stopall|restartall|list}"
exit 1
;;
esac
#chmod 777 /etc/init.d/forever
//简单的启动
# service forever start
# chkconfig forever on
# forever start /nodejs/app.js
(可选)
1、指定forever信息输出文件,当然,默认它会放到~/.forever/forever.log
forever start -l forever.log app.js
2、指定app.js中的日志信息和错误日志输出文件,-o 就是console.log输出的信息,-e 就是console.error输出的信息
forever start -o out.log -e err.log /nodejs/app.js
3、追加日志,forever默认是不能覆盖上次的启动日志,所以如果第二次启动不加-a,则会不让运行
forever start -l forever.log -a /nodejs/app.js
4、监听当前文件夹下的所有文件改动
forever start -w /nodejs/app.js
# ps -ef | grep node
可以看到同时启动了forever,nodejs
root6512 1 12 17:01 ? 00:00:00 /usr/bin/node /usr/lib/node_modules/forever/bin/monitor /nodejs/index.js (forever)
root6514 6512 27 17:01 ? 00:00:01 /usr/bin/node /nodejs/index.js(nodejs)
root651760980 17:01 pts/2 00:00:00 grep node
//测试(杀掉nodejs进程)
# kill -9 6514
# ps -ef | grep node(nodejs进程会自动启动)
页:
[1]