AWS入门实践-利用S3构建一个静态网站

使用Amazon S3托管静态网站是一个流行的选择,因为它简单、成本效益高,并且易于维护。静态网站由不含服务器端脚本的文件组成,如HTML、CSS和JavaScript文件。下面是使用S3托管静态网站的操作步骤:

如果大家没有AWS免费账号,请参考下面链接来创建:

想学习云计算么?教你如何免费白嫖微软和AWS的云资源一年_免费使用azure一年-CSDN博客

步骤 1:创建S3存储桶

  1. 登录到AWS管理控制台,并打开Amazon S3控制台。
  2. 点击"创建存储桶"。
  3. 为存储桶命名,这个名称必须全球唯一。
  4. 选择存储桶所在的区域。
  5. 点击"创建"完成存储桶的创建。

步骤 2:启用静态网站托管

  1. 在S3控制台中,选择你刚创建的存储桶。
  2. 转到"属性"选项卡。
  3. 在"静态网站托管"部分,选择"启用"。
  4. 输入你的首页文档(通常是index.html)和错误页面(例如:error.html)的名称。
  5. 记下S3为你的静态网站提供的终端节点URL。

步骤 3:上传网站内容

  1. 转到你的存储桶,并打开"对象"选项卡。

  2. 点击"上传"并选择你的静态网站文件(HTML、CSS、JavaScript等)。这里有一个简单的index.html供参考:

    html 复制代码
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>静态网页示例</title>
        <style>
            body {
                font-family: Arial, sans-serif;
                text-align: center;
                margin: 0;
                padding: 0;
            }
            
            h1 {
                font-size: 3em;
                margin-top: 1em;
            }
            
            img {
                max-width: 100%;
                height: auto;
            }
        </style>
    </head>
    <body>
        <h1>S3静态网页展示</h1>
        <img src="https://picsum.photos/1200/800" alt="随机图片">
    </body>
    </html>
  3. 设置文件的权限,使其对公众可读。你可以在上传时选择"设置权限",然后选择"公开读取"。

  4. 完成上传。

步骤 4:设置存储桶策略

首先将公共权限打开,如下图:

然后在存储桶的"权限"选项卡下,点击"存储桶策略"。

输入一个策略,允许任何人访问存储桶中的对象。例如:

javascript 复制代码
{"Version":"2012-10-17",
    "Statement":[
    {   "Sid":"PublicReadGetObject",
        "Effect":"Allow",
        "Principal":"*",
        "Action":"s3:GetObject",
        "Resource":"arn:aws:s3:::test-static-website2024/*"}
    ]
}

将test-static-website2024替换为你的存储桶名称。

步骤5:验证静态网站

在浏览器键入刚才保存的URL
http://test-static-website2024.s3-website-ap-southeast-1.amazonaws.com

显示如下图:一个简单的静态网站就创建好了。

步骤 6:(可选)配置自定义域名

如果你有自己的域名,你可能想要使用该域名而不是S3提供的终端节点URL来访问你的网站。

  1. 在你的DNS提供商处创建一个CNAME记录,指向你在步骤2中记下的S3网站终端节点URL。
  2. 如果使用Amazon Route 53作为DNS服务,你可以创建一个别名记录来实现相同的目的。

示例

假设你有一个静态网站,主页是index.html,有一个样式表style.css和一个JavaScript文件script.js。你希望通过www.example.com域名访问你的网站。

按照上述步骤,你将创建一个名为www.example.com的S3存储桶,启用静态网站托管,设置index.html作为首页。然后,你上传index.html、style.css和script.js到存储桶,并设置它们为公开读取。接着,你添加一个存储桶策略,允许公共访问。最后,你在你的DNS提供商处设置一个指向S3终端节点URL的CNAME记录。

这样,当用户访问www.example.com时,他们将看到由你的S3存储桶提供服务的静态网站。

相关推荐
码少女3 小时前
Linux——UDP协议和TCP协议
linux·网络·udp·tcp
FY@-@5 小时前
VMware ESXi 7.0 实验全记录:嵌套安装 → 网络配置 → 存储 → Windows 10 虚拟机部署
运维·网络·windows·云计算
DolitD7 小时前
国产信创+实时云渲染:数字孪生智慧矿山UE5流畅推流
3d·信息可视化·云计算·图形渲染·数据可视化
做运维的阿瑞8 小时前
Terraform 模块版本管理:约束语法、源类型与升级策略
云原生·云计算·terraform
做运维的阿瑞9 小时前
Terraform 模块组合:VPC、安全组、EC2 的输出传递与依赖编排
云原生·云计算·terraform
FY@-@11 小时前
云计算基础(下):虚拟化原理与 DAS/NAS/SAN 存储
运维·服务器·云计算
做运维的阿瑞11 小时前
Terraform 敏感信息管理:sensitive 标记、外部密钥源与 state 加密
云原生·云计算·terraform
mengge.cloud12 小时前
1022小白入门教程(番外筑基)— nerdctl 容器基本功 + K8s 资源编写
linux·网络·云原生·容器·kubernetes·云计算·k8s
FY@-@12 小时前
云计算基础(上):从传统 IT 到 IaaS/PaaS/SaaS
云原生·云计算·paas
AKAMAI12 小时前
PHP 爆出两大高风险漏洞!Akamai 即时部署防护机制
人工智能·云计算