Nginx 시작 스 크 립 트 / 스 크 립 트 다시 시작

3066 단어
1. 소개
    nginx 시작 종료, 매번 수 동 으로 nginx 를 제거 해 야 합 니 다. 설정 파일 이 변경 되 려 면 이 스 크 립 트 를 제공 하여 문 제 를 해결 해 야 합 니 다.
2. 대본
#!/bin/sh
#NGINX_HOME=`dirname $(cd "$(dirname "$0")"; pwd)`
NGINX_HOME='/usr/local/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 

nginx="$NGINX_HOME/sbin/nginx" 
prog=$(basename $nginx) 

NGINX_CONF_FILE="$NGINX_HOME/conf/nginx.conf" 

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 
} 

restart() { 
    configtest || return $? 
    stop 
    start 
} 

reload() { 
    configtest || return $? 
    echo -n $"Reloading $prog: " 
    killproc $nginx -HUP 
    RETVAL=$? 
    echo :wq
} 

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

3. 설정
    이 스 크 립 트 는 두 가지 방식 으로 배치 되 어 있 습 니 다. 첫 번 째 는 / etc / init. d service 시작, 두 번 째 는 nginx bin 디 렉 터 리 에 원래 nginx 를 대체 합 니 다. 
3.1 서비스 시작
nginx 스 크 립 트 를 / etc / init. d / 디 렉 터 리 에 복사 합 니 다. 스 크 립 트 이름 nginx
 실행 가능 한 권한 부여 chmod + x / etc / init. d / nginx
/ sbin / chkconfig nginx on 검사 하기; /sbin/chkconfig --list nginx
이후 다음 명령 을 사용 할 수 있 습 니 다.
service nginx start service nginx stop service nginx restart service nginx reload /etc/init.d/nginx start /etc/init.d/nginx stop /etc/init.d/nginx restart
/etc/init.d/nginx reload
3.2 교체. / sbin / nginx
     mv nginx /usr/local/nginx  /sbin/nginxs
     nginxs 수정, NGINX 변경HOME 값 
NGINX_HOME=`dirname $(cd "$(dirname "$0")"; pwd)`
#NGINX_HOME='/usr/local/nginx'

     chmod +x nginxs
     ./sbin/nginxs status
3.2.1 시작
   편집 하 다. /etc / rc. local 넣 기
   /usr/local/nginx/sbin/nginxs start

좋은 웹페이지 즐겨찾기