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

  • 相关阅读:
    Docker容器启动时初始化Mysql数据库
    使用Buildpacks高效构建Docker镜像
    Mybatis 强大的结果集映射器resultMap
    Java 集合排序策略接口 Comparator
    Spring MVC 函数式编程进阶
    换一种方式编写 Spring MVC 接口
    【asp.net core 系列】6 实战之 一个项目的完整结构
    【asp.net core 系列】5 布局页和静态资源
    【asp.net core 系列】4. 更高更强的路由
    【Java Spring Cloud 实战之路】- 使用Nacos和网关中心的创建
  • 原文地址:https://www.cnblogs.com/azhw/p/4655667.html
Copyright © 2011-2022 走看看