Nginx加入linux系統服務

 

 編譯安裝的Nginx在安裝後默認的啓動、停止、重啓方式很麻煩,最好的方式是把它加入到系統服務中,這樣我們用簡單的service nginx (start|stop|restart)就可以很方便的控制nginx的啓動或停止。如何實現呢?
  1. 編寫一個名爲nginx的腳本:vim nginx
  2. #!/bin/bash
    # nginx Startup script for the Nginx HTTP Server
    # it is v.0.0.2 version.
    # chkconfig: - 85 15
    # description: Nginx is a high-performance web and proxy server.
    #              It has a lot of features, but it's not for everyone.
    # processname: nginx
    # pidfile: /usr/local/nginx/logs/nginx.pid
    # config: /usr/local/nginx/conf/nginx.conf
    #nginx程序路徑
    nginxd=/usr/local/nginx/sbin/nginx
    
    #nginx配置文件路徑
    nginx_config=/usr/local/nginx/conf/nginx.conf
    
    #nginx pid文件的路徑,可以在nginx的配置文件中找到
    nginx_pid=/usr/local/nginx/logs/nginx.pid
    RETVAL=0
    prog="nginx"
    # Source function library.
    . /etc/rc.d/init.d/functions
    # Source networking configuration.
    . /etc/sysconfig/network
    # Check that networking is up.
    [ ${NETWORKING} = "no" ] && exit 0
    [ -x $nginxd ] || exit 0
    # Start nginx daemons functions.
    start() {
    if [ -e $nginx_pid ];then
       echo "nginx already running...."
       exit 1
    fi
       echo -n $"Starting $prog: "
       daemon $nginxd -c ${nginx_config}
       RETVAL=$?
       echo
       [ $RETVAL = 0 ] && touch /var/lock/subsys/nginx
       return $RETVAL
    }
    # Stop nginx daemons functions.
    stop() {
            echo -n $"Stopping $prog: "
            killproc $nginxd
            RETVAL=$?
            echo
            [ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx /usr/local/nginx/logs/nginx.pid
    }
    # reload nginx service functions.
    reload() {
        echo -n $"Reloading $prog: "
        #kill -HUP `cat ${nginx_pid}`
        killproc $nginxd -HUP
        RETVAL=$?
        echo
    }
    # See how we were called.
    case "$1" in
    start)
            start
            ;;
    stop)
            stop
            ;;
    reload)
            reload
            ;;
    restart)
            stop
            start
            ;;
    status)
            status $prog
            RETVAL=$?
            ;;
    *)
            echo $"Usage: $prog {start|stop|restart|reload|status|help}"
            exit 1
    esac
    exit $RETVAL
  3.   mv ./nginx /etc/init.d/nginx  #把它放在/etc/init.d/下
  4. chmod +x /etc/init.d/nginx      #賦予執行權限
  5. chmod nginx on                  #設置開機啓動
  6. [root@VM_209_111_centos ~]# service nginx start 
    Starting nginx:                                            [  OK  ]
    [root@VM_209_111_centos ~]# service nginx stop 
    Stopping nginx:                                            [  OK  ]
    [root@VM_209_111_centos ~]# service nginx start
    Starting nginx:                                            [  OK  ]
    [root@VM_209_111_centos ~]# service nginx restart
    Stopping nginx:                                            [  OK  ]
    Starting nginx:                                            [  OK  ]

    這樣就可以了。

    其中要注意這幾個路徑:

    /usr/local/nginx/conf/nginx.conf

    /usr/local/nginx/logs/nginx.pid

    /usr/local/nginx/sbin/nginx

    要保證這幾個路徑與您安裝的nginx文件的路徑一致。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章