我們不可能直接通過node命令來管理遠程站點,這樣無法保證網站的可持續運行。我們用Forever來解決這個問題,它可以將NodeJS應用以後台守護進程的方式運行,我們還可以將NodeJS應用設成隨系統啟動而自動運行。
首先,安裝Forever:
複製代碼代碼如下:
npm install forever -gd
這樣Forever就安裝好了,我們可以直接運行Forever命令:
複製代碼代碼如下:
forever --help
forever start app.js
forever stop app.js
上面命令先查看Forever幫助文件,然後運行app.js,然後停止app.js。我們要讓Forever自動運行,先在/etc/init.d目錄創建一個文件node,內容如下:
複製代碼代碼如下:
#!/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添加自動運行:
複製代碼代碼如下:
chmod 755 /etc/init.d/node
chkconfig /etc/init.d/node on
reboot重啟系統,通過瀏覽器進入網站可發現,該NodeJS已經可自動運行了,剩下的工作,就是好好研究NodeJS、Express和AngularJS,做一個真正屬於自己的應用!