• 把Nginx加为系统服务(service nginx start/stop/restart)


    1、编写脚本,名为nginx

    #!/bin/sh 
    # 
    # nginx - this script starts and stops the nginx daemon 
    # 
    # chkconfig:   - 85 15 
    # description: Nginx is an HTTP(S) server, HTTP(S) reverse  
    #               proxy and IMAP/POP3 proxy server 
    # processname: nginx 
    # config:      /etc/nginx/nginx.conf 
    # config:      /etc/sysconfig/nginx 
    # pidfile:     /var/run/nginx.pid 
    
    # Source function library. 
    . /etc/rc.d/init.d/functions 
    
    # Source networking configuration. 
    . /etc/sysconfig/network 
    
    # Check that networking is up. 
    [ "$NETWORKING" = "no" ] && exit 0 
    
    nginx="/usr/local/nginx/sbin/nginx" 
    prog=$(basename $nginx) 
    
    NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf" 
    
    [ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx 
    
    lockfile=/var/lock/subsys/nginx 
    
    start() { 
        [ -x $nginx ] || exit 5 
        [ -f $NGINX_CONF_FILE ] || exit 6 
        echo -n $"Starting $prog: " 
        daemon $nginx -c $NGINX_CONF_FILE 
        retval=$? 
        echo 
        [ $retval -eq 0 ] && touch $lockfile 
        return $retval 
    } 
    
    stop() { 
        echo -n $"Stopping $prog: " 
        killproc $prog -QUIT 
        retval=$? 
        echo 
        [ $retval -eq 0 ] && rm -f $lockfile 
        return $retval 
    killall -9 nginx 
    } 
    
    restart() { 
        configtest || return $? 
        stop 
        sleep 1 
        start 
    } 
    
    reload() { 
        configtest || return $? 
        echo -n $"Reloading $prog: " 
        killproc $nginx -HUP 
    RETVAL=$? 
        echo 
    } 
    
    force_reload() { 
        restart 
    } 
    
    configtest() { 
    $nginx -t -c $NGINX_CONF_FILE 
    } 
    
    rh_status() { 
        status $prog 
    } 
    
    rh_status_q() { 
        rh_status >/dev/null 2>&1 
    } 
    
    case "$1" in 
        start) 
            rh_status_q && exit 0 
        $1 
            ;; 
        stop) 
            rh_status_q || exit 0 
            $1 
            ;; 
        restart|configtest) 
            $1 
            ;; 
        reload) 
            rh_status_q || exit 7 
            $1 
            ;; 
        force-reload) 
            force_reload 
            ;; 
        status) 
            rh_status 
            ;; 
        condrestart|try-restart) 
            rh_status_q || exit 0 
                ;; 
        *)    
          echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}" 
            exit 2 
    esac   
     
    [root@example ~]# cp nginx /etc/init.d/
    [root@example ~]# chmod 755 /etc/init.d/nginx
    [root@example ~]# chkconfig --add nginx

    3、nginx启动、停止、无间断服务重启

    [root@example ~]# service nginx start

    [root@example ~]# service nginx stop

    [root@example ~]# service nginx reload

    完毕 我想应该也可以按照此方法 添加其他的服务。

  • 相关阅读:
    【转】ubuntu 12.04 LTS 网络配置要点
    Sqlite3在FS_S5PC100开发板上的移植
    java中常用的字符串的截取方法
    一种很好的程序调试方法!
    win7修复MBR
    .tar.xz文件的解压
    linux环境下LED驱动编程一例
    Eclipse设置:背景与字体大小和xml文件中字体大小调整
    ARM LDR与MOV的区别
    windows下从任意目录快速进入CMD
  • 原文地址:https://www.cnblogs.com/tonykan/p/3781118.html
Copyright © 2020-2023  润新知