shisgmei 发表于 2017-2-21 08:52:19

nodejs后台运行

让Nodejs后台运行,直接使用forever组件即可,具体步骤如下:
1.安装forever,进入nodejs的bin目录,sudo npm install forever -g,就可以安装成功了。
2.添加forever服务,让其自动运行,
sudo vim /etc/init.d/fever,内容如下

#!/bin/bash
#
# node      Start up node server daemon
#
# chkconfig: 345 85 15
# description: Forever for Node.js
#
PATH=/usr/local/nodejs/bin
DEAMON=/usr/local/nodejs/applications/pk/app.js
LOG=/var/www/log
PID=/var/run/forever.pid
case "$1" in
    start)
      forever start -l $LOG/forever.log -o $LOG/forever_out.log -e $LOG/forever_err.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/forever.log -o $LOG/forever_out.log -e $LOG/forever_err.log --pidFile $PID -a $DEAMON
;;
    list)
      forever list
;;
    *)
      echo "Usage: /etc.init.d/node {start|stop|restart|reload|stopall|restartall|list}"
      exit 1

esac
exit 0
然后保存文件。
改变文件为可执行:sudo chmod 755 /etc/init.d/fever
添加服务:sudo chkconfig --add fever
这时就可以使用forever启动nodejs了,使用sudo service fever start
查看日志:tail -f /var/www/log/forever.log,也可查看错误日志forever_err.log


------forever相关使用说明--------
// 1. 简单的启动
forever start app.js

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

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

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

// 5. 监听当前文件夹下的所有文件改动
forever start -w app.js

文件改动监听并自动重启

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

显示所有运行的服务

forever list

停止操作

// 1. 停止所有运行的node App
forever stopall

// 2. 停止其中一个node App
forever stop app.js
// 当然还可以这样
// forever list 找到对应的id,然后:
forever stop

重启操作

重启操作跟停止操作保持一致。

// 1. 启动所有
forever restartall
页: [1]
查看完整版本: nodejs后台运行