nodejs起動スクリプト
2839 ワード
nodejsは最近比較的に火を比較して、多くの実例はnginxの逆方向の代行に協力して、スピードのバーの.
最近のプロジェクトではnodejsが使われていますが、ついでに起動スクリプトを使いました.
1、rpmdevtoolsをインストールして、それは便利なジェネレーション/etc/init.d/以下のスタートスクリプトができます.
慣れていれば、コピー/etc/init.d/下のいずれかのシナリオを修正してもいいです.
2、nodejsをインストールする
ウェブ上の他のスクリプトと比較して、本スクリプトの特徴
1、上記のnodejsはnginxユーザーとして運行しています.これは必要です.rootを使うのは裸で走るのと同じです.
2、nodeは完全にバックグラウンドで運行しています.スクリーンでは一切の入出力を行いません.
3、chkconfig起動のサポート
最近のプロジェクトではnodejsが使われていますが、ついでに起動スクリプトを使いました.
1、rpmdevtoolsをインストールして、それは便利なジェネレーション/etc/init.d/以下のスタートスクリプトができます.
yum install rpmdevtools
cd /etc/init.d/
rpmdev-newinit node
mv node.init node
chmod 755 node
このようにすると、現在のディレクトリでnode.initのスクリプトの一例が生成されます.慣れていれば、コピー/etc/init.d/下のいずれかのシナリオを修正してもいいです.
2、nodejsをインストールする
yum install nodejs* npm --enablerepo=epel
3、起動スクリプトに内容を追加し、具体的な起動オプションはカスタマイズが必要です.大体次の通りです.#!/bin/sh
#
# node - Server-side JavaScript
#
# chkconfig: <default runlevel(s)> <start> <stop>
# description: <description, split multiple lines with \
# a backslash>
# http://fedoraproject.org/wiki/FCNewInit/Initscripts
### BEGIN INIT INFO
# Provides:
# Required-Start:
# Required-Stop:
# Should-Start:
# Should-Stop:
# Default-Start:
# Default-Stop:
# Short-Description:
# Description:
### END INIT INFO
# Source function library.
. /etc/rc.d/init.d/functions
exec="/usr/bin/node"
prog=$(basename $exec)
js=/tmp/test.js
[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
lockfile=/var/lock/subsys/$prog
start() {
echo -n $"Starting $prog: "
# if not running, start it up here, usually something like "daemon $exec"
/bin/su -l nginx -c "$prog $js --port=8081 --dir=/tmp >/dev/null 2>&1"
/bin/su -l nginx -c "$prog $js --port=8082 --dir=/tmp >/dev/null 2>&1"
/bin/su -l nginx -c "$prog $js --port=8083 --dir=/tmp >/dev/null 2>&1"
/bin/su -l nginx -c "$prog $js --port=8084 --dir=/tmp >/dev/null 2>&1"
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}
stop() {
echo -n $"Stopping $prog: "
# stop it here, often "killproc $prog"
killproc $prog
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
}
restart() {
stop
start
}
case "$1" in
start|stop|restart)
$1
;;
status)
status $prog
;;
*)
echo $"Usage: $0 {start|stop|status|restart}"
exit 2
esac
node起動にはいくつかのオプションが必要です.jsファイル、ポート、アップロードディレクトリは必要に応じてカスタマイズしてください.ウェブ上の他のスクリプトと比較して、本スクリプトの特徴
1、上記のnodejsはnginxユーザーとして運行しています.これは必要です.rootを使うのは裸で走るのと同じです.
2、nodeは完全にバックグラウンドで運行しています.スクリーンでは一切の入出力を行いません.
3、chkconfig起動のサポート