美文网首页
nginx维护中的配置

nginx维护中的配置

作者: 東玖零 | 来源:发表于2022-07-07 11:11 被阅读0次

    背景:有一天服务器要维护升级了,需要所有的页面全都显示update.html页面。
    想法:那就是所有的页面请求都跳转到这个页面。

    网上找了有三个方法:
    1.使用rewrite关键字。

    rewrite ^(.*)$ /maintain.html break;
    

    注意这句后面如果有重定向等语句,那么后面执行的重定向等语句需要全部注释掉。

    2.使用503的状态码。

    location / {
      return 503;
    }
    //注意其他location优先级高的匹配均需要注释掉
    error_page  503   /maintain.html;
    

    3.多个配置,表示看明白了,但不会描述。

    server {
            listen       4008;
            server_name  localhost;
            charset utf-8;
            #access_log  logs/host.access.log  main;
            location / {
                root   /var/webroot/maintain/;
                index  index.html index.htm;
            }
            # redirect server error pages to the static page /50x.html
            #
            error_page   404 405 500 502 503 504  /index.html;
            location = /index.html {
                root   /var/webroot/maintain/;
            }
    }
    

    搬了一个砖,经过探索只实现了其中第一个,正确代码如下:

    server {
    
            listen 443 ssl;
    
            ssl_certificate "/abc/nginx/902322.baibaixxx.com.pem";
            ssl_certificate_key "/abc/nginx/902322.baibaixxx.com.key";
    
            server_name baibaixxx.com;
    
            rewrite ^(.*)$ /index.html break; #维护页面文件夹中,显示正在升级维护的页面
    
            location / {
                #root /abc/webapps/haha; # 原项目正确配置
                root /abc/webapps/update-ing; #维护页面文件夹
                autoindex on;
                index index.html index.htm;
            }
    
        }
    

    相关文章

      网友评论

          本文标题:nginx维护中的配置

          本文链接:https://www.haomeiwen.com/subject/dfzubrtx.html