把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

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

你可能感兴趣的:(service)