Nginx配置维护模式

一、Nginx配置文件

java 复制代码
 server {
    listen 80;
    server_name yourdomain.com;

    # 核心逻辑:检测维护标记文件是否存在
    if (-f /var/www/maintenance.enable) {
        # 如果文件存在,返回 509 状态码,并重写为维护页面
        return 509;
    }

    # 错误页面重定向
    error_page 509 @maintenance;
    location @maintenance {
        root /usr/share/nginx/html;
        rewrite ^(.*)$ /maintenance.html break;
    }

    # 正常的业务路由
    location / {
        proxy_pass http://backend_server;
    }
}

二、HTML文件(maintenance.html)

html 复制代码
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>系统维护中</title>
    <style>
        /* 基础重置与全局样式 */
        * { 
			margin: 0; 
			padding: 0; 
			box-sizing: border-box; 
		}
        body {
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
            background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
            display: flex;
            justify-content: center;
            align-items: center;
            min-height: 100vh;
            color: #333;
            text-align: center;
            padding: 20px;
        }

        /* 内容卡片样式 */
        .container {
            background: #ffffff;
            padding: 50px 40px;
            border-radius: 12px;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
            max-width: 600px;
            width: 100%;
        }

        /* 图标与标题 */
        .icon { 
			font-size: 60px; 
			margin-bottom: 20px; 
		}
		
        h1 { 
			font-size: 28px; 
			margin-bottom: 15px; 
			color: #2c3e50; 
		}
		
        p { 
			font-size: 16px; 
			line-height: 1.6; 
			color: #555; 
			margin-bottom: 10px; 
		}

        /* 移动端适配 */
        @media (max-width: 480px) {
            .container { padding: 30px 20px; }
            h1 { font-size: 22px; }
            .countdown { font-size: 18px; }
        }
    </style>
</head>
<body>
    <div class="container">
        <div class="icon">🛠️</div>
        <h1>系统正在维护升级</h1>
        <p>系统维护升级期间,网站将暂时无法访问</p>
    </div>
</body>
</html>

三、命令

bash 复制代码
# 检查配置文件语法
nginx -t

# 重载配置
nginx -s reload

# 开启维护模式,拦截用户请求
touch /var/www/maintenance.enable


# 关闭维护模式,恢复用户访问
rm -f /var/www/maintenance.enable
相关推荐
凯基迪科技3 分钟前
硬件做授权保护,有哪些常见方案
运维·服务器
优化Henry21 分钟前
5G站点AAS-3设备故障排查与处理
运维·学习·5g·信息与通信
Jtti23 分钟前
香港服务器CPU不高但用户请求排队的原因有哪些?
运维·服务器·网络
星核0penstarry32 分钟前
宕机那天 API 还能用,所以模型是假的?
运维·服务器·人工智能·大模型·ai编程·模型指纹
solidwork_s1 小时前
SOLIDWORKS 2027 Electrical电气新功能汇总
运维·服务器·人工智能·solidworks
志栋智能1 小时前
降本增效双赢:超自动化IT运维落地方法论
运维·自动化
独孤九剑打醒他1 小时前
海思 Hi3798MV100 C 语言 DNS 广告过滤方案
运维·服务器
疯狂成瘾者1 小时前
海康威视 WSS 视频取流原理:6014/559 端口、Nginx 代理与 TLS 证书问题
运维·nginx·音视频
ruxshui1 小时前
Hadoop 生产运维实战手册
大数据·运维·hadoop
张文君2 小时前
Ubuntu iSCSI CHAP认证与Win11挂载
linux·运维·ubuntu