centos下nginx的启动、关闭、重启操作

点击打开链接

Nginx的启动

 
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf  
其中 -c 参数指定配置文件路径。
 
Nginx的停止
 
Nginx支持以下几种信号控制:
 
TERM, INT 快速关闭
QUIT 从容关闭
HUP 平滑重启
USR1 重新打开日志文件,在切割文件时用处大
USR2 平滑升级
WINCH 从容关闭工作进程
我们可以通过信号停止Nginx主进程,首先,我们需要通过 ps -ef | grep 命令获得master进程的PID,或者通过cat pid文件获得主进程号。下面是几个典型的停止语句:
 
#从容停止Nginx  
kill -QUIT master进程号  
#快速停止Nginx  
kill -TERM master进程号  
#强制停止Nginx  
kill -9 master进程号  
Nginx的重加载
 
如果改变了配置文件,想重启让其生效,同样可以通过发送系统信号给Nginx主进程,不过,在重启之前,要确认配置文件的语法是正确的,否则将不会加载新的配置项。
通过以下语句测试配置文件语法是否正确:
 
/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
其中 -t 表示测试,并不真正执行。
然后,通过以下命令重加载Nginx配置:
 
kill -HUP master进程号
执行上面命令之后,Nginx运行新的工作进程,旧工作进程继续为已有的连接服务,等所有旧的连接成功后,旧的工作进程才被关闭。
 
Nginx的启动脚本
 
#!/bin/sh  
# chkconfig: 2345 85 15  
# description:Nginx Server  
  
NGINX_HOME=/usr/local/nginx  
NGINX_SBIN=$NGINX_HOME/sbin/nginx  
NGINX_CONF=$NGINX_HOME/conf/nginx.conf  
NGINX_PID=$NGINX_HOME/logs/nginx.pid  
  
NGINX_NAME="Nginx"  
  
. /etc/rc.d/init.d/functions  
  
if [ ! -f $NGINX_SBIN ]  
then  
    echo "$NGINX_NAME startup: $NGINX_SBIN not exists! "  
    exit  
fi  
  
start() {  
    $NGINX_SBIN -c $NGINX_CONF  
    ret=$?  
    if [ $ret -eq 0 ]; then  
        action $"Starting $NGINX_NAME: " /bin/true  
    else  
        action $"Starting $NGINX_NAME: " /bin/false  
    fi  
}  
  
stop() {  
    kill `cat $NGINX_PID`  
    ret=$?  
    if [ $ret -eq 0 ]; then  
        action $"Stopping $NGINX_NAME: " /bin/true  
    else  
        action $"Stopping $NGINX_NAME: " /bin/false  
    fi  
}  
  
restart() {  
    stop  
    start  
}  
  
check() {  
    $NGINX_SBIN -c $NGINX_CONF -t  
}  
  
  
reload() {  
    kill -HUP `cat $NGINX_PID` && echo "reload success!"  
}  
  
relog() {  
    kill -USR1 `cat $NGINX_PID` && echo "relog success!"  
}  
  
case "$1" in  
    start)  
        start  
        ;;  
    stop)  
        stop  
        ;;  
    restart)  
        restart  
        ;;  
    check|chk)  
        check  
        ;;  
    status)  
        status -p $NGINX_PID  
        ;;  
    reload)  
        reload  
        ;;  
    relog)  
        relog  
        ;;  
    *)  
        echo $"Usage: $0 {start|stop|restart|reload|status|check|relog}"  
        exit 1  
esac
上面是nginx的启动脚本,只要把它拷贝至 /etc/init.d 目录下,就可以通过 service nginx start 等目录操作nginx。
 
除了上面介绍的直接发信号给Nginx主进程的方法之外,我们还可以通过nginx -s命令:
 
stop — fast shutdown
quit — graceful shutdown
reload — reloading the configuration file
reopen — reopening the log files
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值