我们不可能直接通过node命令来管理远程站点,这样无法保证网站的可持续运行。我们用Forever来解决这个问题,它可以将NodeJS应用以后台守护进程的方式运行,我们还可以将NodeJS应用设成随系统启动而自动运行。
首先,安装Forever:
1 |
npm install forever -gd |
这样Forever就安装好了,我们可以直接运行Forever命令:
1 2 3 |
forever --help forever start app.js forever stop app.js |
上面命令先查看Forever帮助文件,然后运行app.js,然后停止app.js。我们要让Forever自动运行,先在/etc/init.d目录创建一个文件node,内容如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
#!/bin/bash # # node Start up node server daemon # # chkconfig: 345 85 15 # description: Forever for Node.js # PATH=/home/node/0.8.9/bin DEAMON=/home/ftp/1520/weizt-20120918-tKx/weizt.com/app.js LOG=/home/hosts_log PID=/tmp/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 |
以上代码是我在本地虚拟机的配置,根据实际情况修改相关参数,主要是DEAMON的路径参数,赋予该文件可执行权限,并运行chkconfig添加自动运行:
1 2 |
chmod 755 /etc/init.d/node chkconfig /etc/init.d/node on |
reboot重启系统,通过浏览器进入网站可发现,该NodeJS已经可自动运行了,剩下的工作,就是好好研究NodeJS、Express和AngularJS,做一个真正属于自己的应用!