将Nginx添加到CentOS系统服务

在 /etc/init.d/下创建名为nginx的启动脚本即可,内容如下:

#!/bin/sh  
#  
# nginx - this script starts and stops the nginx daemin  
# Taken from http://www.hikaro.com  
# chkconfig:   - 85 15  
# description:  Nginx is an HTTP(S) server, HTTP(S) reverse   
#               proxy and IMAP/POP3 proxy server  
# processname: nginx  
# config:      /usr/local/nginx/conf/nginx.conf  
# pidfile:     /usr/local/nginx/logs/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" 

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  
}  

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

注:上面那个文件里面要修改的地方有,这两处改为自己的 nginx 安装位置。保存一定要保存成UNIX格式(notepad++:编辑–文档格式转换–转为UNIX格式),否则会报错的。

nginx=”/usr/local/nginx/sbin/nginx”
NGINX_CONF_FILE=”/usr/local/nginx/conf/nginx.conf”
# 设置执行权限:
chmod +x /etc/init.d/nginx
# 注册成服务:
chkconfig –add nginx
# 设置开机启动:
chkconfig nginx on 

# 然后我们就可以使用下面的命令来管理nginx啦
systemctl status nginx
systemctl start nginx
systemctl stop nginx

推荐文章