nginx挂维护页面,优雅地进行网站升级维护

发布项目时,发布的时间内,我们的域名访问时,跳到了维护通知页面,当时我觉得,这个体验好,这样用户就知道网站为啥不可用了,升级维护期间无法一一告知用户的,这么做真的很专业,用户一看就知道,原来这段时间在维护啊,那我等维护好了继续访问,都说用户体验,这就是用户体验呢。

通过Nginx实现一个简单的网站维护通知页面,优雅地进行网站升级维护

发布项目时,发布的时间内,我们的域名访问时,跳到了维护通知页面,当时我觉得,这个体验好,这样用户就知道网站为啥不可用了,升级维护期间无法一一告知用户的,这么做真的很专业,用户一看就知道,原来这段时间在维护啊,那我等维护好了继续访问,都说用户体验,这就是用户体验呢。

1、简单重写一个网站维护功能


nginx的配置文件中server模块下添加下面配置

rewrite ^ /weihu break; #表示匹配所有请求,跳转到 weihu location
location /weihu {
default_type text/html ;
return 200  "<h1>网站维护中,请稍后再试!</h1>";
}

2、新建一个网站维护页面实现网站维护功能


新建一个网站维护页面

nginx 将请求全部指向到一个页面

# 新建一个目录 存放网站维护页面
mkdir /data/weihu
cd /data/weihu
vim index.html
#把下列网站维护页面内容放到 index.html里
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>网站维护通知</title>
</head>

<body>
<div  align="center">
	<h1>网站维护中,请稍后再试......</h1>
    <img src="./weihu.png"/>
</div>
</body>
</html>

在nginx的配置文件中server模块下添加下面配置

新添加一个nginx配置文件 weihu_nginx.conf

vim conf.d/weihu_nginx.conf
#nginx 配置文件内添加内容:
server
     {
        listen   80;
        server_name    www.xxx.com xxx.com;
        root     /data/weihu;
        index    index.html ;
        access_log /data/logs/access/www.xxx.com_access.log access;
        error_log /data/logs/error/www.xxx.com_error.log crit;
  }
server
     {
        listen 80;
        server_name app.xxx.com;
        root /data/weihu;
        index app.html;
        access_log /data/logs/access/www.xxx.com_access.log access;
        error_log /data/logs/error/www.xxx.com_error.log crit;
        location /  {
                default_type 'application/json; charset=utf-8';
                return 200  '{"sign":"xxx","codeDesc":"系统升级维护中","nonceStr":"xxx","code":"xxx"}';
        }
  }
server{
        listen 443;
        ssl     on;
        server_name  www.xxx.com;
        ssl_certificate  /home/www/xxx/key/www.xxx.com.crt;
        ssl_certificate_key  /home/www/xxx/key/www.xx.com.key;
        ssl_session_cache       shared:SSL:10m;
        ssl_session_timeout     10m;
        ssl_protocols   SSLv3   TLSv1   TLSv1.1 TLSv1.2;
        ssl_ciphers     HIGH:!aNULL:!MD5:!EXPORT56:!EXP;
        ssl_prefer_server_ciphers       on;
        keepalive_timeout       70;
        root /data/www;
        index index.html;
}

nginx主配置文件 http模块下面添加配置

#网站维护配置,网站维护时去掉注释,重启nginx
#include /data/openresty/nginx/conf/conf.d/weihu_nginx.conf;

网站维护页面

版权声明:本文为作者原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原创文章,作者:老C,如若转载,请注明出处:https://www.code404.icu/132.html

发表评论

登录后才能评论