Opensourcetechブログ

OpensourcetechによるNGINX/Kubernetes/Zabbix/Neo4j/Linuxなどオープンソース技術に関するブログです。

ソースパッケージインストールしたNginxのinitスクリプトを作成する方法

こんにちは、鯨井貴博@opensourcetechです。

 

ソースパッケージからインストールした状態では手動で起動しなければなりませんので、

/etc/init.dに起動スクリプトを作成し、自動起動等が出来るようにしてみます。

cd /etc/init.d

vi nginx

f:id:opensourcetech:20150129212240p:plain

 

起動スクリプトの内容

#!/bin/bash

#chkconfig: 2345 80 30
#description: nginx
set -e
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin/:/usr/sbin:/usr/bin
DESC="nginx deamon"
NAME=nginx
DAEMON=/usr/local/nginx/sbin/$NAME
SCRIPTNAME=/etc/init.d/$NAME

test -x $DAEMON || exit 0

d_start() {
        $DAEMON || echo -n " already running"
}

d_stop() {
        $DAEMON -s stop || echo -n " not running"
}

d_reload() {
        $DAEMON -s reload || echo -n " could not reload"
}

case "$1" in
        start)
                echo -n "Starting $DESC: $NAME"
                d_start
                echo "."
        ;;
        stop)
                echo -n "Stopping $DESC: $NAME"
                d_stop
                echo "."
        ;;
        reload)
                echo -n "Reloading $DESC configuration..."
                d_reload
                echo "reloaded."
        ;;
        restart)
                echo -n "Restarting $DESC: $NAME"
                d_stop
                sleep 2
                d_start
                echo "."
        ;;
        *)
                echo "Usage: $SCRIPTNAME {start|stop|restart|reload}" >&2
                exit 3
        ;;
esac

exit 0

 

※※以下にあるスクリプトも参考になりそうです。

http://wiki.nginx.org/RedHatNginxInitScript

 

実行権限を付与

chmod +x /etc/init.d/nginx

f:id:opensourcetech:20150129212428p:plain

 

chkconfigにnginxを追加

chkconfig --add nginx

chkconfig --list nginx

f:id:opensourcetech:20150129213507p:plain

 

これで自動起動とともに、

/etc/init.d/nginx {start|stop|restart} で起動・停止が出来るようになりました。

f:id:opensourcetech:20150129213950p:plain

 

 

 

にほんブログ村 IT技術ブログ Linuxへ
Linux

にほんブログ村 IT技術ブログ オープンソースへ
オープンソース

Opensourcetech by Takahiro Kujirai