nginx配置维护页面的方法

一、描述

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

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

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

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

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


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

可以放到服务器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,运维,服务器)