【Web】Nginx配置开机启动

  在添加nginx服务之后,大家会希望开机伴随启动nginx,避免手动路径输入启动;

  nginx官方提供了启动脚本:https://www.nginx.com/resources/wiki/start/topics/examples/redhatnginxinit/

  nginx 安装可以参考【Web】Nginx下载与安装

配置步骤

  1、添加nginx服务,进入/etc/init.d/目录,新添加nginx脚本文件,内容就是官方起启动脚本(/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/sbin/nginx"
 23 prog=$(basename $nginx)
 24
 25 NGINX_CONF_FILE="/etc/nginx/nginx.conf"
 26
 27 [ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx
 28
 29 lockfile=/var/lock/subsys/nginx
 30
 31 make_dirs() {
 32    # make required directories
 33    user=`$nginx -V 2>&1 | grep "configure arguments:.*--user=" | sed ‘s/[^*]*--user=\([^ ]*\).*/\1/g‘ -`
 34    if [ -n "$user" ]; then
 35       if [ -z "`grep $user /etc/passwd`" ]; then
 36          useradd -M -s /bin/nologin $user
 37       fi
 38       options=`$nginx -V 2>&1 | grep ‘configure arguments:‘`
 39       for opt in $options; do
 40           if [ `echo $opt | grep ‘.*-temp-path‘` ]; then
 41               value=`echo $opt | cut -d "=" -f 2`
 42               if [ ! -d "$value" ]; then
 43                   # echo "creating" $value
 44                   mkdir -p $value && chown -R $user $value
 45               fi
 46           fi
 47        done
 48     fi
 49 }
 50
 51 start() {
 52     [ -x $nginx ] || exit 5
 53     [ -f $NGINX_CONF_FILE ] || exit 6
 54     make_dirs
 55     echo -n $"Starting $prog: "
 56     daemon $nginx -c $NGINX_CONF_FILE
 57     retval=$?
 58     echo
 59     [ $retval -eq 0 ] && touch $lockfile
 60     return $retval
 61 }
 62
 63 stop() {
 64     echo -n $"Stopping $prog: "
 65     killproc $prog -QUIT
 66     retval=$?
 67     echo
 68     [ $retval -eq 0 ] && rm -f $lockfile
 69     return $retval
 70 }
 71
 72 restart() {
 73     configtest || return $?
 74     stop
 75     sleep 1
 76     start
 77 }
 78
 79 reload() {
 80     configtest || return $?
 81     echo -n $"Reloading $prog: "
 82     killproc $nginx -HUP
 83     RETVAL=$?
 84     echo
 85 }
 86
 87 force_reload() {
 88     restart
 89 }
 90
 91 configtest() {
 92   $nginx -t -c $NGINX_CONF_FILE
 93 }
 94
 95 rh_status() {
 96     status $prog
 97 }
 98
 99 rh_status_q() {
100     rh_status >/dev/null 2>&1
101 }
102
103 case "$1" in
104     start)
105         rh_status_q && exit 0
106         $1
107         ;;
108     stop)
109         rh_status_q || exit 0
110         $1
111         ;;
112     restart|configtest)
113         $1
114         ;;
115     reload)
116         rh_status_q || exit 7
117         $1
118         ;;
119     force-reload)
120         force_reload
121         ;;
122     status)
123         rh_status
124         ;;
125     condrestart|try-restart)
126         rh_status_q || exit 0
127             ;;
128     *)
129         echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
130         exit 2
131 esac

  2、修改脚本内容

    a、在脚本中11行,新增pid文件位置,可以在nginx运行时查看,命令:find / -name nginx.pid

1 pidfile="/data/soft/nginx/logs/nginx.pid"

    b、在脚本中22行(nginx="/usr/sbin/nginx")修改nginx脚本文件位置

1 nginx="/data/soft/nginx/sbin/nginx"

    c、在脚本中25行(NGINX_CONF_FILE="/etc/nginx/nginx.conf")修改nginx配置文件位置

1 NGINX_CONF_FILE="/data/soft/nginx/conf/nginx.conf"

  3、给脚本增加可执行权限,命令:chmod a+x /etc/init.d/nginx

    到这一步服务已经添加好了

    a、服务启动:service nginx start

    b、服务停止:service nginx stop

    c、服务重新加载:service nginx reload

  4、添加开机启动项

    a、添加命令:chkconfig --add /etc/init.d/nginx

    b、查看启动项,命令:chkconfig --list

      nginx启动项状态:nginx           0:off   1:off   2:off   3:off   4:off   5:off   6:off

    c、需要设置nginx启动命令:chkconfig nginx on

      nginx启动项状态:nginx           0:off   1:off   2:on    3:on    4:on    5:on    6:off

    d、关闭命令为:chkconfig nginx on

    e、删除命令为:chkconfig --del nginx

  5、执行命令reboot,重启服务器即可验证nginx开机启动

原文地址:https://www.cnblogs.com/h--d/p/9997963.html

时间: 2024-10-12 09:30:28

【Web】Nginx配置开机启动的相关文章

Nginx使用(配置开机启动)

环境: 系统:CentOS 6.5 Final 安装目录:/usr/local/nginx Nginx开机自启: ①编写shell实现控制 vi /etc/init.d/nginx 添加内容: #!/bin/bash # nginx Startup script for the Nginx HTTP Server # it is v.0.0.2 version. # chkconfig: - 85 15 # description: Nginx is a high-performance web

Nginx在Centos 7中配置开机启动

1.创建脚本 # vi /etc/init.d/nginx #!/bin/bash # nginx Startup script for the Nginx HTTP Server # it is v.0.0.2 version. # chkconfig: - 85 15 # description: Nginx is a high-performance web and proxy server. # It has a lot of features, but it's not for eve

编译安装Nginx //设置nginx自动开机启动

Nginx 安装 系统平台:CentOS release 6.6 (Final) 64位. 设置nginx 自动开机启动 :chkconfig --level 235 nginx on chkconfig 提供了一个维护/etc/rc[0~6] d 文件夹的命令行工具,它减轻了系统直接管理这些文件夹中的符号连接的负担.chkconfig主要包括5个原始功能:为系统管理增加新的服务.为系统管理移除服务.列出单签服务的启动信息.改变服务的启动信息和检查特殊服务的启动状态.当单独运行chkconfig

Centos 配置开机启动脚本启动 docker 容器

原文:Centos 配置开机启动脚本启动 docker 容器 Centos 配置开机启动脚本启动 docker 容器 Intro 我们的 Centos 服务器上部署了好多个 docker 容器,因故重启的时候就会导致还得手动去手动重启这些 docker 容器,为什么不写个脚本自动重启呢,于是就有了这篇文章. 批量启动 Docker 容器 之前我们有提到过关于 docker 的一些骚操作 ,可以直接使用 docker start $(docker ps -aq) # 启动所有容器 docker s

centos7下nginx,tomcaat开机启动(新)

一. 写在前面 centos7建议使用systemctl来管理服务的自启动,它能够满足之前service和chkconfig的功能 1.systemd有系统和用户区分:系统(/user/lib/systemd/system/).用户(/etc/lib/systemd/user/) 2.一般系统管理员手工创建的单元文件建议存放在/etc/systemd/system/目录下面 3.创建service文件 [Unit] Description=nginx - high performance web

nginx设置开机启动

在添加nginx服务之后,大家会希望开机伴随启动nginx,避免手动路径输入启动: nginx官方提供了启动脚本:https://www.nginx.com/resources/wiki/start/topics/examples/redhatnginxinit/ 我这里使用centos系统,首先,进入/etc/init.d/目录,新添加nginx文件,把上述连接中的内容粘贴到nginx文件中, #!/bin/sh # # nginx - this script starts and stops

centos7 nginx 加入开机启动

设置nginx开机启动 vi /etc/rc.d/init.d/nginx  #编辑启动文件添加下面内容 ############################################################ #!/bin/sh # # nginx - this script starts and stops the nginx daemon # # chkconfig: - 85 15 # description: Nginx is an HTTP(S) server, HT

mysql配置开机启动

昨天初始化mysql数据库,今天开机进行相关调优.配置 首先查看到mysql开机没有 [[email protected] ~]# ss -lntup|grep mysql 配置/etc/rc.local 将mysql设置为开机启动 方法一. [[email protected] ~]# vim /etc/rc.local #!/bin/sh # # This script will be executed *after* all the other init scripts. # You ca

RHEL6编译安装nginx、开机启动脚本

Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器. nginx的模块需要第三方库的支持,检查是否安装下列库:zlib.zlib-devel(nginx扩展,gzip压缩).openssl.openssl-devel(nginx扩展).prce.prce-devel(重写rewrite.支持nginx伪静态):Nginx 一般有两个版本,分别是稳定版和开发版,您可以根据您的目的来选择这两个版本的其中一