zoukankan      html  css  js  c++  java
  • 添加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

  • 相关阅读:
    前端开源项目周报0408
    iOS开源项目周报0406
    安卓开源项目周报0405
    iOS开源项目周报0330
    安卓开源项目周报0329
    前端开源项目周报0328
    vue项目搭建
    微信中h5页面用window.history.go(-1)返回上一页页面不会重新加载问题
    h5移动端页面meta标签
    js中break跳出多层循环
  • 原文地址:https://www.cnblogs.com/azhw/p/4655667.html
Copyright © 2011-2022 走看看