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存储桶提供服务的静态网站。

相关推荐
sbjdhjd1 小时前
从 assert 动态调用报错到临时文件链路:PHP 5.6 与 7.3 授权靶场中的短 payload 复盘 | (17字符绕过)
安全·网络安全·数据挖掘·开源·云计算·php·字符绕过
sbjdhjd1 小时前
从 7 字符文件名拼接到二维数组取值:PHP 无参函数限制下的受控靶场复盘 | (7字符绕过)
网络·nginx·安全·网络安全·云计算·php·apache
盛世宏博智慧档案3 小时前
以太网温湿度传感器 TCP/IP、UDP、SNMP 协议怎么选?区别详细分析
单片机·tcp/ip·udp·以太网温湿度传感器
johnny2334 小时前
云计算AWS:服务简介与实战
aws
mengge.cloud15 小时前
0909华为云计算类综合服务小白实验教程
linux·运维·服务器·网络·华为云·云计算
QYR-分析17 小时前
蓝海赛道高速扩容!全球小型观察ROV市场格局、细分场景与发展趋势分析
大数据·运维·云计算
weixin_4935036717 小时前
商会小程序附件上传:分片上传 + OSS 直传完整实现(Vue3 + 阿里云 OSS 实战)
阿里云·小程序·云计算
workflower20 小时前
人形机器人技术与产业基础
机器人·云计算·软件工程·需求分析·软件需求
论文复现现场1 天前
单卡RTX 3090能训练,切到4卡却OOM:Accelerate多卡训练怎么排查?
人工智能·pytorch·云计算·gpu算力·多卡训练
Da Da 泓1 天前
UDP和TCP中的网络编程
网络·tcp/ip·udp·java-ee