nginx配置维护页面的方法

在特殊情况需停项目发版时,通过修改nginx配置,将所有请求重定向至维护页面,避免用户中断使用。此过程包括创建维护HTML页面,切换nginx配置文件,利用rewrite规则重定向请求,并处理POST请求的405错误。在升级完成后,恢复原nginx配置并重新加载服务。
摘要由CSDN通过智能技术生成

一、描述

本人公司一般发版是不停项目的,但是遇到特殊情况、就不得不停项目发版,用户就会有几个小时不能使用。

停项目发版时,会修改下nginx,让所有请求都跳转到维护页面,在此记录下修改方法。

二、nginx配置维护页面的方法

1.首先找到自己服务器安装nginx的路径。

2.可以写一个简单的维护用html页面updating.html,例如:

<html>
<header></header>
<body>
<h1>尊敬的用户,系统目前正在升级,请稍后再试,给您带来的不便敬请谅解,谢谢</h1>
</body>

可以放到服务器nginx目录里的html文件夹下,例如/home/admin/nginx/html/updating.html
(这个文件夹下一般有nginx自带的index.html)

3.可以检查下/home/admin/nginx/conf/nginx.conf,看下是怎么配置的;例如,本人的在最下面是这样写的:

    #正常情况用这个
    include /home/admin/nginx/conf.d/*.conf;
    #维护时用这个
   # include /home/admin/nginx/conf/weihu.conf;

意思是nginx.conf里本身没有配置什么规则,主要的规则在conf.d文件夹中;
这样维护时就可以切换为:

    #正常情况用这个
   # include /home/admin/nginx/conf.d/*.conf;
    #维护时用这个
    include /home/admin/nginx/conf/weihu.conf;

4./home/admin/nginx/conf/weihu.conf文件中,是这样配置的:

server {

    listen  80;
    server_name  10.1.2.3;

    #直接让请求跳转到updating.html
    rewrite ^(.*)$ /updating.html break;
    #由于Nginx不允许静态文件响应POST请求,故此处将“405 not allowed”修改为“200 ok”
    error_page 405 =200 $uri;
}

server {
      
    listen  8080;
    server_name  10.1.2.3;

	#直接让请求跳转到updating.html
    rewrite ^(.*)$ /updating.html break;
    #由于Nginx不允许静态文件响应POST请求,故此处将“405 not allowed”修改为“200 ok”
    error_page 405 =200 $uri;
}

(其中,server_name我配置的是本地ip,这个不是很重要)

其中,主要是 rewrite ^(.*)$ /updating.html break;,这个可以让请求直接转到updating.html页面,也就是维护页面。

访问这台nginx服务器的、80端口和8080端口的所有请求,都会被转到维护页面。

5.使用/home/admin/nginx/sbin/nginx -s reload命令重启nginx。

6.等项目升级完毕后,再把nginx.conf还原即可:

    #正常情况用这个
    include /home/admin/nginx/conf.d/*.conf;
    #维护时用这个
   # include /home/admin/nginx/conf/weihu.conf;

别忘了重启nginx,/home/admin/nginx/sbin/nginx -s reload

nginx是一个高性能的Web服务器、反向代理服务器和负载均衡服务器。它的配置文件是nginx.conf,其语法类似于其他的配置文件,如Apache的httpd.conf。下面对nginx配置文件进行解读: 1. http块 http块是nginx配置文件的主要部分,包含了nginx的全局配置和http服务器配置。 2. server块 server块是http块中的一个子块,用来配置一个虚拟主机。每个server块都有自己的listen指令,用来指定该虚拟主机监听的IP地址和端口号。 3. location块 location块是server块中的一个子块,用来匹配请求的URI,并指定相应的处理方式。location块的匹配规则和正则表达式有关,常用的匹配方式包括: - 精确匹配:location = /uri - 前缀匹配:location /uri - 正则匹配:location ~ /reg_exp 4. upstream块 upstream块用来定义一组服务器,用于反向代理和负载均衡。每个upstream块包含多个server指令,每个server指令表示一个后端服务器。 5. include指令 include指令用来引入其他的配置文件,可以使nginx配置文件更加模块化和易于维护。 6. log_format指令 log_format指令用来定义日志格式,可以自定义日志输出的内容和格式。 7. error_page指令 error_page指令用来指定错误页面的路径,可以根据HTTP状态码自定义错误页面。 8. rewrite指令 rewrite指令用来重写URI,可以将请求的URI重写为其他的URI。 9. proxy_pass指令 proxy_pass指令用来指定反向代理的目标服务器,可以将请求转发给指定的后端服务器。 以上是nginx配置文件的一些常用指令和语法,理解这些指令和语法可以帮助我们更好地配置nginx服务器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

追逐梦想永不停

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值