首页 > 系统相关 >Nginx设置成服务并开机自动启动的配置

Nginx设置成服务并开机自动启动的配置

时间:2023-03-20 11:59:05浏览次数:31  
标签:status nginx etc echo Nginx 自动 开机 exit rh

一、创建 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

make_dirs() {
   # make required directories
   user=`$nginx -V 2>&1 | grep "configure arguments:.*--user=" | sed 's/[^*]*--user=\([^ ]*\).*/\1/g' -`
   if [ -n "$user" ]; then
      if [ -z "`grep $user /etc/passwd`" ]; then
         useradd -M -s /bin/nologin $user
      fi
      options=`$nginx -V 2>&1 | grep 'configure arguments:'`
      for opt in $options; do
          if [ `echo $opt | grep '.*-temp-path'` ]; then
              value=`echo $opt | cut -d "=" -f 2`
              if [ ! -d "$value" ]; then
                  # echo "creating" $value
                  mkdir -p $value && chown -R $user $value
              fi
          fi
       done
    fi
}

start() {
    [ -x $nginx ] || exit 5
    [ -f $NGINX_CONF_FILE ] || exit 6
    make_dirs
    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
    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

需要注意的配置:

1 2 3 nginx=”/usr/local/nginx/sbin/nginx//修改成nginx执行程序的路径。   NGINX_CONF_FILE=”/usr/local/nginx/conf/nginx.conf” //修改成nginx.conf文件的路径

二、给文件授权

chmod a+x /etc/init.d/nginx

三、添加到服务列表

chkconfig --add /etc/init.d/nginx

加完这个之后,就可以使用service对nginx进行启动,重启等操作了。

1 2 3 service nginx start service nginx stop service nginx restart

四、设置开机自动启动

chkconfig nginx on

 

标签:status,nginx,etc,echo,Nginx,自动,开机,exit,rh
From: https://www.cnblogs.com/springclout/p/17235792.html

相关文章

  • linux 下redis设置开机自启动
    一、创建redis服务配置文件#!/bin/sh#chkconfig:23451090#description:StartandStopredisPATH=/usr/local/bin:/sbin:/usr/bin:/bin#找到本机......
  • 接口测试——PyTest自动化测试框架(八)
    1.PyTest介绍与安装PyTest介绍PyTest是python的一个第三方的单元测试库自动识别测试模块和测试函数支持非常丰富的断言(assert)语句PyTest中的使用约束测试文......
  • 接口自动化测试必备技能——HTTP协议(九)
    1.HTTP协议简介及状态码解析HTTP协议简介HTTP协议,中文名称为超文本传输协议它是一个应用层的协议,私有请求和响应构成其典型的引用场景就是浏览器和服务器之间进行......
  • 接口自动化测试——用例设计(五)
    引言与UI相比,接口一旦研发完成,通常变更或重构的频率和幅度相对较小。因此做接口自动化的性价比更高,通常运用于迭代版本上线前的回归测试中。手工做接口测试,测试数据和参......
  • Nginx服务配置及相关模块
    一、Nginx配置文件1、主配置文件解析①yum安装主配置文件位置:/etc/nginx/nginx.conf②编译安装主配置文件位置:/编译安装路径/conf/nginx.confnginx主配置文件:nginx.co......
  • Centos7系统命令自动补全方法
    Centos7的默认安装类型是最小安装,因此它缺少了自动补全命令参数的功能。而自动补全命令参数的功能是由Bash提供的,要使用这个功能,我们需要安装一个bash-completion包。sud......
  • Matter 赋能智能设备间的本地自动化交互(转自乐鑫博客)
    这篇文章,让我们来聊聊网络中的Matter设备将如何进行交互,从而协同实现多样的自动化场景。例如,使用家里的一个开关就能控制一个或多个灯泡;恒温器可以根据接收到的传感器报......
  • Nginx服务部署及基础配置
    一、nginx1、Nginx功能介绍静态的web资源服务器html,图片,js,css,txt等静态资源http/https协议的反向代理7层结合FastCGI/uWSGI/SCGI等协议反向代理动态资源请求......
  • 网易自动登录
    importtracebackimporttimeimportunittestfromidlelibimportbrowserfromseleniumimportwebdriverfromselenium.webdriver.common.byimportBybro=we......
  • web自动化-js处理日历控件
    一、基础知识:  """js处理日历控件利用js去掉readonly属性,然后直接输入时间--利用js代码获取当前元素--设置readonly这个属性值为false(或者删除readonly属性)"""......