我們經(jīng)常遇到下面這樣的情況吧,今天博敏教你如何設(shè)置
需求: 網(wǎng)站準備升級維護, 需要用戶不管從哪里訪問進來, 都會給一個網(wǎng)站正在維護的頁面: 網(wǎng)站升級維護中
如下圖所示:

- 準備一個index.html, 里面就是一個簡單的html,大致包含以下
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>網(wǎng)站維護中</title>
<img src="https://fullmedcloud-cn-huabei2.oss-cn-beijing.aliyuncs.com/runyi/image/%E7%BD%91%E7%AB%99%E5%8D%87%E7%BA%A7%E4%B8%AD.png" alt="" class="img">
<link rel="icon" href="https://fullmedcloud-cn-huabei2.oss-cn-beijing.aliyuncs.com/runyi/enterprise_logo/2/65b22dd2a9e69d2666e822e505948c3.png">
</head>
<body>
<style>
.img{
width: 100%;
height: 100%;
}
</style>
</body>
</html>
- 我將index.html放在了/home/runyi/image/下面
- nginx配置:
server {
listen 80; # 網(wǎng)站訪問的監(jiān)聽端口
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name www.fullmedbank.cn; # 如果服務(wù)器已經(jīng)被域名解析,必須填域名
ssl_certificate "cert/4729556_www.fullmedbank.cn.pem";
ssl_certificate_key "cert/4729556_www.fullmedbank.cn.key";
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
charset utf-8;
# 指定項目路徑uwsgi
location /api {
rewrite ^/api/(.*)$ /$1 break;
include uwsgi_params;
uwsgi_connect_timeout 30;
uwsgi_pass 127.0.0.1:8080 ;
uwsgi_param UWSGI_CHDIR /home/runyi/runyi/; #django 項目參考地址
uwsgi_param UWSGI_SCRIPT runyi.wsgi; # wsgi模塊導(dǎo)入
}
location / {
proxy_set_header Host $host;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 60;
proxy_read_timeout 600;
proxy_send_timeout 600;
autoindex on; # 自動索引
root /home/runyi/image/;
try_files $uri $uri/ /index.html;
}
注意: 這三行代碼才是核心, 其他根據(jù)自己的配置自行配置
autoindex on; # 自動索引
root /home/runyi/image/;
try_files $uri $uri/ /index.html;
最終效果: 不管是從那個路徑進入網(wǎng)站,或者是從域名近的網(wǎng)站,都會顯示index.html.完美達到預(yù)期效果