centos下Nginx服務啟動shell指令碼

來源:互聯網
上載者:User

Nginx 服務啟動指令碼

 

 代碼如下 複製代碼

#! /bin/sh

# chkconfig: 2345 55 25

# Description: Startup script for nginx webserver on Debian. Place in /etc/init.d and

# run 'update-rc.d -f nginx defaults', or use the appropriate command on your

# distro. For CentOS/Redhat run: 'chkconfig –add nginx'

 

### BEGIN INIT INFO

# Provides:          nginx

# Required-Start:    $all

# Required-Stop:     $all

# Default-Start:     2 3 4 5

# Default-Stop:      0 1 6

# Short-Description: starts the nginx web server

# Description:       starts nginx using start-stop-daemon

### END INIT INFO

 

# Author:   licess

# website:  http://lnmp.org

 

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

NAME=nginx

NGINX_BIN=/usr/local/nginx/sbin/$NAME

CONFIGFILE=/usr/local/nginx/conf/$NAME.conf

PIDFILE=/usr/local/nginx/logs/$NAME.pid

 

case "$1" in

    start)

        echo -n "Starting $NAME… "

 

        if netstat -tnpl | grep -q nginx;then

            echo "$NAME (pid `pidof $NAME`) already running."

            exit 1

        fi

 

        $NGINX_BIN -c $CONFIGFILE

 

        if [ “$?” != 0 ] ; then

            echo " failed"

            exit 1

        else

            echo " done"

        fi

        ;;

 

    stop)

        echo -n "Stoping $NAME… "

 

        if ! netstat -tnpl | grep -q nginx; then

            echo "$NAME is not running."

            exit 1

        fi

 

        $NGINX_BIN -s stop

 

        if [ “$?” != 0 ] ; then

            echo " failed. Use force-quit"

            exit 1

        else

            echo " done"

        fi

        ;;

 

    status)

        if netstat -tnpl | grep -q nginx; then

            PID=`pidof nginx`

            echo "$NAME (pid $PID) is running…"

        else

            echo "$NAME is stopped"

            exit 0

        fi

        ;;

 

    force-quit)

        echo -n "Terminating $NAME… "

 

        if ! netstat -tnpl | grep -q nginx; then

            echo "$NAME is not running."

            exit 1

        fi

 

        kill `pidof $NAME`

 

        if [ “$?” != 0 ] ; then

            echo " failed"

            exit 1

        else

            echo " done"

        fi

        ;;

 

    restart)

        $0 stop

        sleep 1

        $0 start

        ;;

 

    reload)

        echo -n "Reload service $NAME… "

 

        if netstat -tnpl | grep -q nginx; then

            $NGINX_BIN -s reload

            echo " done"

        else

            echo "$NAME is not running, can't reload."

            exit 1

        fi

        ;;

 

    configtest)

        echo -n "Test $NAME configure files… "

 

        $NGINX_BIN -t

        ;;

 

    *)

        echo "Usage: $0 {start|stop|force-quit|restart|reload|status|configtest}"

        exit 1

        ;;


例子2

把以下指令碼儲存為nginx檔案放入/etc/init.d/nginx

然後可以通過

 代碼如下 複製代碼
/etc/init.d/nginx start 命令啟動nginx
/etc/init.d/nginx stop 命令停止nginx
/etc/init.d/nginx restart 命令重啟nginx

開機自動啟動nginx,

如果需要開機啟動服務,儲存好 /etc/init.d/nginx檔案後,

執行以下命令:

 代碼如下 複製代碼

chkconfig --add ningx

chkconfig --level nginx 2345 on

你也可以直接下載nginx啟動停止指令碼

---------------------分割線下是指令碼內容,紅色字型需要你修改-------------------------------------------

 代碼如下 複製代碼

#! /bin/sh

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

DESC="nginx daemon"
NAME=nginx
DAEMON=/usr/local/nginx/sbin/$NAME
CONFIGFILE=/usr/local/nginx/conf/$NAME.conf
PIDFILE=/usr/local/nginx/logs/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME

set -e
[ -x "$DAEMON" ] || exit 0

do_start() {
$DAEMON -c $CONFIGFILE || echo -n "nginx already running"
}

do_stop() {
kill -INT cat $PIDFILE || echo -n "nginx not running"
}

do_reload() {
kill -HUP cat $PIDFILE || echo -n "nginx can't reload"
}

case "$1" in
start)
echo -n "Starting $DESC: $NAME"
do_start
echo "."
;;
stop)
echo -n "Stopping $DESC: $NAME"
do_stop
echo "."
;;
reload|graceful)
echo -n "Reloading $DESC configuration..."
do_reload
echo "."
;;
restart)
echo -n "Restarting $DESC: $NAME"
do_stop
do_start
echo "."
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|reload|restart}" >&2
exit 3
;;
esac

exit 0

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.