You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在新EC2实例中创建静态维护页面?

没问题,这事儿我熟,一步步给你捋清楚怎么在EC2上搭静态维护页面:

第一步:连接到你的EC2实例

先通过SSH连接到你的EC2实例,命令大概是这样的(记得替换成你的密钥对路径和实例IP):

ssh -i "你的密钥对文件名.pem" ec2-user@你的实例公网IP

小提示:不同AMI的用户名不一样,比如Ubuntu系统用ubuntu,Amazon Linux用ec2-user,CentOS用centos,别搞混了。

第二步:安装Web服务器(选Apache或者Nginx都行)

我个人常用Apache,这里给你两种服务器的安装方式:

  • 如果是Amazon Linux 2/CentOS:
    先更新系统包,再装Apache:
    sudo yum update -y
    sudo yum install httpd -y
    
  • 如果是Ubuntu/Debian:
    同样先更新,再装Apache:
    sudo apt update && sudo apt install apache2 -y
    

要是你偏好Nginx,把上面的httpd换成nginx就行,后续步骤逻辑差不多。

第三步:创建静态维护页面

Web服务器的默认根目录,Apache一般是/var/www/html/,Nginx是/usr/share/nginx/html/。咱们直接在根目录创建首页文件:

# Apache的话用这个路径
sudo nano /var/www/html/index.html

# Nginx的话换这个
sudo nano /usr/share/nginx/html/index.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>
        body {
            margin: 0;
            padding: 0;
            font-family: "Microsoft Yahei", Arial, sans-serif;
            background-color: #f5f5f5;
            display: flex;
            align-items: center;
            justify-content: center;
            min-height: 100vh;
        }
        .maintenance-box {
            background: white;
            padding: 4rem 6rem;
            border-radius: 12px;
            box-shadow: 0 4px 12px rgba(0,0,0,0.15);
            text-align: center;
        }
        h1 {
            color: #e74c3c;
            margin-bottom: 1.5rem;
            font-size: 2.2rem;
        }
        p {
            color: #555;
            font-size: 1.1rem;
            line-height: 1.6;
            margin-bottom: 0.8rem;
        }
        .recovery-time {
            color: #2980b9;
            font-weight: bold;
        }
    </style>
</head>
<body>
    <div class="maintenance-box">
        <h1>🔧 网站维护中</h1>
        <p>我们正在对系统进行升级优化,以提供更好的服务体验</p>
        <p>预计恢复时间:<span class="recovery-time">今日 18:00</span></p>
        <p>给您带来的不便,敬请谅解!</p>
    </div>
</body>
</html>

写完后按Ctrl+O保存,回车确认文件名,再按Ctrl+X退出编辑器。

第四步:启动Web服务器并设置开机自启

启动服务,还要设置成开机自动启动,避免实例重启后服务停了:

  • Apache:
    # Amazon Linux/CentOS
    sudo systemctl start httpd
    sudo systemctl enable httpd
    
    # Ubuntu/Debian
    sudo systemctl start apache2
    sudo systemctl enable apache2
    
  • Nginx:
    sudo systemctl start nginx
    sudo systemctl enable nginx
    
第五步:验证页面+检查安全组

现在打开浏览器,输入你的EC2实例公网IP,应该能看到刚才做的维护页面了。如果打不开,大概率是安全组没开80端口:

  • 去EC2控制台找到你的实例,进入安全组配置
  • 添加一条入站规则,允许HTTP(80)端口,来源选0.0.0.0/0(允许所有IP访问)

等你Web应用停机的时候,直接把弹性IP从原来的实例解绑,再绑定到这个维护页面的EC2实例就行,用户访问的时候就会看到维护通知了。

内容的提问来源于stack exchange,提问作者giturr14

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 10:05:58