Centos裡開機自啟動 node.js 程式
要把一個node.js程式移植到一臺centos伺服器,要求開機自啟動
使用forever啟動一個node.js程式很簡單,一行程式碼就行:forever start server.js。是不是很簡單呢?
假設工程是位於 /home/aerchi/app-tool 下面,server.js中有一句如下程式碼:
在centos下開機啟動node.js程式吧。有兩種方式,第一種很簡單,只需要在/etc/rc.local檔案末尾新增如下語句
forever --sourceDir /home/aerchi/app-tool start server.js 請忽略下面的工程路徑,僅供參考:
不過有一個地方需要注意,就是要確保/etc/rc.d/rc.local具有可執行許可權,沒有的話記得要執行如下語句修改許可權:
chmod a+x /etc/rc.d/rc.local
第二種方法要麻煩點,就是在/etc/init.d目錄下新增一個服務,首先我們命令列中輸入vi forever(你也可以叫其他名字),然後輸入如下程式碼:
#!/bin/bash # chkconfig: 345 88 08 # description: Forever for node.js
PROJECT_DIR=/home/aerchi/app-tool ENTRY_FILE=server.js LOG=/home/aerchi/forever.log PID=/root/.forever/pids/forever.pid
export PATH=$PATH:/usr/local/bin
node=node forever=forever
case "$1" in start) $forever --sourceDir $PROJECT_DIR start -l $LOG --pidFile $PID -a $ENTRY_FILE ;; stop) $forever --sourceDir $PROJECT_DIR stop --pidFile $PID $ENTRY_FILE ;; stopall) $forever stopall --pidFile $PID ;; restartall) $forever restartall --pidFile $PID ;; reload|restart) $forever --sourceDir $PROJECT_DIR restart -l $LOG --pidFile $PID -a $ENTRY_FILE ;; list) $forever list ;; *) echo "Usage: /etc/init.d/forever {start|stop|restart|reload|stopall|restartall|list}" exit 1 ;; esac
記得要把這裡的PROJECT_DIR、ENTRY_FILE、LOG都改成自己需要的,這裡有個地方需要注意,就是一定要新增
chkconfig 354 88 08
這一句,否則後面使用chkconfig命令時會出現問題。好了,儲存好之後,我們改修改一些許可權及命令讓它成為可執行,依次輸入如下語句即可:
chmod 755 forever chkconfig --add forever chkconfig forever on
這樣就完成了所有的操作,可以自己用/etc/init.d/forever start試試。