添加nginx为系统服务(service nginx start/stop/restart)

1、在/etc/init.d/目录下编写脚本,名为nginx

  1 #!/bin/sh 

  2 # 

  3 # nginx - this script starts and stops the nginx daemon 

  4 # 

  5 # chkconfig:   - 85 15 

  6 # description: Nginx is an HTTP(S) server, HTTP(S) reverse \ 

  7 #               proxy and IMAP/POP3 proxy server 

  8 # processname: nginx 

  9 # config:      /etc/nginx/nginx.conf 

 10 # config:      /etc/sysconfig/nginx 

 11 # pidfile:     /var/run/nginx.pid 

 12 

 13 # Source function library. 

 14 . /etc/rc.d/init.d/functions 

 15 

 16 # Source networking configuration. 

 17 . /etc/sysconfig/network 

 18 

 19 # Check that networking is up. 

 20 [ "$NETWORKING" = "no" ] && exit 0 

 21 

 22 nginx="/usr/local/nginx/sbin/nginx" 

 23 prog=$(basename $nginx) 

 24 

 25 NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf" 

 26 

 27 [ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx 

 28 

 29 lockfile=/var/lock/subsys/nginx 

 30 

 31 start() { 

 32     [ -x $nginx ] || exit 5 

 33     [ -f $NGINX_CONF_FILE ] || exit 6 

 34     echo -n $"Starting $prog: " 

 35     daemon $nginx -c $NGINX_CONF_FILE 

 36     retval=$? 

 37     echo 

 38     [ $retval -eq 0 ] && touch $lockfile 

 39     return $retval 

 40 } 

 41 

 42 stop() { 

 43     echo -n $"Stopping $prog: " 

 44     killproc $prog -QUIT 

 45     retval=$? 

 46     echo 

 47     [ $retval -eq 0 ] && rm -f $lockfile 

 48     return $retval 

 49 killall -9 nginx 

 50 } 

 51 

 52 restart() { 

 53     configtest || return $? 

 54     stop 

 55     sleep 1 

 56     start 

 57 } 

 58 

 59 reload() { 

 60     configtest || return $? 

 61     echo -n $"Reloading $prog: " 

 62     killproc $nginx -HUP 

 63 RETVAL=$? 

 64     echo 

 65 } 

 66 

 67 force_reload() { 

 68     restart 

 69 } 

 70 

 71 configtest() { 

 72 $nginx -t -c $NGINX_CONF_FILE 

 73 } 

 74 

 75 rh_status() { 

 76     status $prog 

 77 } 

 78 

 79 rh_status_q() { 

 80     rh_status >/dev/null 2>&1 

 81 } 

 82 

 83 case "$1" in 

 84     start) 

 85         rh_status_q && exit 0 

 86     $1 

 87         ;; 

 88     stop) 

 89         rh_status_q || exit 0 

 90         $1 

 91         ;; 

 92     restart|configtest) 

 93         $1 

 94         ;; 

 95     reload) 

 96         rh_status_q || exit 7 

 97         $1 

 98         ;; 

 99     force-reload) 

100         force_reload 

101         ;; 

102     status) 

103         rh_status 

104         ;; 

105     condrestart|try-restart) 

106         rh_status_q || exit 0 

107             ;; 

108     *)    

109       echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}" 

110         exit 2 

111 

112 esac  

[root@example ~]# cp nginx /etc/init.d/
[root@example ~]# chmod 755 /etc/init.d/nginx
[root@example ~]# chkconfig --add nginx

 

[root@example ~]# service nginx start

[root@example ~]# service nginx stop

[root@example ~]# service nginx reload

 

你可能感兴趣的:(service)