首页 资讯 社群 我的社区 搜索

Nginx快捷启动配置

yimo~
2020-05-09 10:58:43

Linux下Nginx开关服务,正常方式是这样({nginx}-为Nginx安装路径):

{nginx}/sbin/nginx #启动  
{nginx}/sbin/nginx -s stop #停止

这种方式带来很多不便,因此介绍一种快捷启动关闭Nginx的方式。

在/etc/init.d下创建nginx启动脚本文件:

vim /etc/init.d/nginx  

i进入编辑状态,粘贴以下代码后保存:
将/usr/local/nginx/替换为自身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   

修改脚本权限:

chmod 755 nginx  

将脚本文件加入到chkconfig中:

chkconfig --add nginx  

设置nginx开机在3和5级别自动启动:

chkconfig --level 35 nginx on  

创建软连接:

cd /usr/bin       
ln -s /etc/init.d/nginx  

愉快的玩耍吧!
这里边的命令都可以执行:
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}" 
以下是示例:

nginx start  
nginx stop  
nginx restart  
用户评论