當你使用Node.js寫了一個web.js程式,我們都會使用 node web.js來手動啟動,但有些情況我們希望這個程式能跟著主機一起啟動.

我所使用的是Ubuntu作業系統,所以我要在/etc/init.d目錄下加一個script,並將這個script加入到開機啟動中,以下就是我的做法

1.在/etc/init.d目錄下,新增一個node_web的檔案,內容如下

#!/bin/sh

# get action
ACTION=$1

usage() {
        echo "Usage: /etc/init.d/node_web {start|stop|restart}"
        exit 1;
        }

start() {
        pid=`ps -ef|grep \[w]eb.js|awk '{print $2}'`
        if [ ! -z $pid ]; then
                echo "Service is already running!!"
        else
                /usr/local/bin/node /var/www/web.js 2>&1 &
                echo "Service is starting!!"
        fi
        }

stop() {
        pid=`ps -ef|grep \[w]eb.js|awk '{print $2}'`
        if [ -z $pid ]; then
                echo "Service is down,can't shutdown again !!"
        else
                kill -9 $pid
                echo "Service is shutdown!!"
        fi
        }


case "$ACTION" in
        start)
                start
        ;;
        stop)
                stop
        ;;
        restart)
                stop
                start
        ;;
        *)
                usage
        ;;
esac

2.將node_web權限設為755

# chomd 755 /etc/init.d/node_web

3.將這個script加到開機啟動中

# update-rc.d node_web defaults 90

4.重新開機,看看你的APP有沒有自動啟動了

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 痞客興 的頭像
    痞客興

    痞客興的部落格

    痞客興 發表在 痞客邦 留言(0) 人氣()