用node express写项目的时候,想让Node项目后台执行,虽然安装了forever包,但是每次server重新启动,都要管理员手动的去执行下才可以,所以还是挺不方便的。
注:centos 7.2 node v10.15.0
1.首先安装forever,直接运行下面命令就行。npm install forever -g --save
2.安装完毕先测试下是否安装好了。forever start app.js
forever stop app.js
forever restart app.js
如果没啥问题,下面就可以来编写自启动的node-3d命令脚本了。vim /etc/init.d/node-3d
#!/bin/bash
#
# node Start up node server daemon
#
# chkconfig: 345 85 15
# description: Forever for Node.js
#
PATH=/usr/local/lib/nodejs/node-v10.15.0/bin #在这里指定一下Node的可运行程序安装文件夹
DEAMON=/var/www/www/3d.com/app.js #写自己的项目地址
LOG=/var/www/logs/node/3d.log #可选。日志文件文件夹
PID=/tmp/forever.pid #必填内容。用于记录forever的进程号
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-3d {start|stop|restart|reload|stopall|restartall|list}"
exit 1
;;
esac
exit 0
编写完成之后,启动,设置自启动,将编写的node-3d文件权限修改成755,避免的出现权限不够的问题。chmod -R 755 node-3d
systemctl start node-3d
systemctl enable node-3d