跳至主要内容

用 EC2 快速部署官网

本教程将指导您如何使用 Amazon Elastic Compute Cloud (Amazon EC2) 服务在云端快速部署一个简单的静态网站,比如贵司的官网。

教程属性

  • Tag:EC2 
  • 难度 :初级 
  • 时间 :30分钟 
  • 费用 :亚马逊云科技免费套餐配额
  • 前提条件 :海外区域:注册 / 登录亚马逊云科技;一个 SSH 客户端 
  • 上次更新时间 :2054年7月14日 
  • 相关产品 :EC2

教程目标

  • 学习亚马逊云科技区域、EC2 的基本概念和操作。
  • 成功启动并配置一个 EC2 实例。
  • 在 EC2 实例上安装和配置 NGINX Web 服务器。
  • 上传您的网站文件并使其在互联网上可以访问。

准备工作

  • 一个亚马逊云科技海外区域账户( 请注意: 中国区(北京和宁夏)由光环新网和西云数据运营,需要单独的中国区账号才能使用。本教程以国际站账号为例。)
    • 一个 SSH 客户端。

    第一步:创建 EC2 实例

    全部打开

    EC2 实例是您在云中的虚拟服务器。我们将创建一个运行 Linux 操作系统的实例来托管我们的网站。

    • 登录您的亚马逊云科技控制台。在开始任何操作前,请先查看控制台的右上角。这里有一个下拉菜单,显示了当前所在的区域(例如“美国东部(俄亥俄)us-east-2”)。
    • 点击该下拉菜单,根据靠近用户、成本、合规性等原则,选择一个最适合您业务的区域。对于本教程,您可以选择任意一个您偏好的区域,例如“亚太地区(东京)ap-northeast-1”。

    • 在选定区域后,于控制台顶部的搜索框中输入 "EC2" 并选择 EC2 服务。

    • 然后,点击左边侧边栏“实例”,并点击“启动新实例”按钮

     

    • 名称: 为您的实例取一个容易识别的名称,例如 my-first-website。

    • 应用程序和操作系统映像 (Amazon 系统映像): 选择 "Amazon Linux"。我们将使用 Amazon Linux 2 AMI。

     

    实例类型: 选择 t2.micro。这个实例类型符合亚马逊云科技的免费套餐条件,适合学习和小型网站。

     

    • 密钥对(登录): 为了安全地连接到您的 EC2 实例,您需要一个密钥对。点击“创建新密钥对”。
    • 密钥对名称: 输入一个名称,例如 my-ec2-key。
    • 密钥对文件格式: 如果您使用 Windows 上的 PuTTY,请选择 .ppk。对于 macOS 和 Linux,请选择 .pem。
    • 点击“创建密钥对”并妥善保管下载的密钥文件。这是您唯一一次可以下载这个文件的机会,请务必安全保存。 

     

     

     

    • 在“网络设置”部分,点击“编辑”。
    • 安全组: 这是一个虚拟防火墙。选择“创建安全组”我们为其命名 my-website-sg。
    • 入站安全组规则:(需要点击“添加安全组规则”,添加两条安全组规则)
      SSH (端口 22): 允许我们连接到实例。为了安全,建议将“源类型”设置为“我的 IP”,这样只有您的电脑可以连接(为了演示方便,我这里选择“任何位置”)
      HTTP (端口 80): 允许用户通过浏览器访问您的网站。将“源类型”设置为“任何位置”。

     

    • 保持其他设置默认,然后点击右下角的“启动实例”按钮。

     

    第二步:连接到您的 EC2 实例

    全部打开
    • 在 EC2 控制台的实例列表中,找到您刚刚创建的实例。在“详细信息”选项卡中,复制“公有 IPv4 地址”。(启动实例后需要等待实例启动完成)

    • 打开您的终端 (macOS/Linux) 或 PuTTY (Windows)。

    • 对于 macOS/Linux:

    # 赋予密钥文件正确的权限 
    chmod 400 /path/to/my-ec2-key.pem 
    # 使用密钥和公有IP连接实例 
    ssh -i "/path/to/my-ec2-key.pem" ec2-user@your-instance-ip

    • (请替换密钥路径和实例IP)
    • 对于 Windows (PuTTY): 按照之前的说明,在 Host Name 中输入 ec2-user@your-instance-ip,并在 Auth 中加载您的 .ppk 密钥文件。

     

    第三步:安装和配置 NGINX

    全部打开

    连接到实例后,我们来安装 NGINX Web 服务器。

    # 更新软件包列表

    sudo yum update -y

    # 安装 NGINX

    sudo amazon-linux-extras install nginx1 -y

    # 启动 NGINX 服务

    sudo systemctl start nginx

    # 设置 NGINX 开机自启

    sudo systemctl enable nginx

    • 在您的浏览器中,访问 http://your-instance-ip (替换为您的实例公有 IP)。您应该能看到 NGINX 的蓝色欢迎页面。

     

    第四步:部署您的网站内容

    全部打开
    • 我们将替换掉默认的欢迎页面。在您的 SSH 终端中运行以下命令:

    sudo bash -c 'cat > /usr/share/nginx/html/index.html <<EOF

    <!DOCTYPE html>

    <html lang="zh-CN">

    <head>

        <meta charset="UTF-8">

        <meta name="viewport" content="width=device-width, initial-scale=1.0">

        <title>我的第一个 AWS 网站</title>

    </head>

    <body>

        <h1>欢迎来到我在 AWS 上部署的第一个网站!</h1>

        <p>这是一个使用 EC2 和 NGINX 搭建的静态网站。</p>

    </body>

    </html>

    EOF'

     

    • 再次访问 http://your-instance-ip。您现在应该能看到您刚刚创建的页面内容。

     

    *   您可以使用 SCP (macOS/Linux) 或 FileZilla (Windows/macOS) 等工具,将您本地电脑上做好的网站文件(如 index.html, styles.css, images/ 等)上传到实例的 `/home/ec2-user/` 目录下。

    *   上传后,在 SSH 终端中,将这些文件移动到 NGINX 的网站根目录:

    sudo mv /home/ec2-user/* /usr/share/nginx/html/

    恭喜!

    您已经成功地完成了一个网站从选择区域到部署上线的全过程。接下来,您可以继续探索,例如为您的网站配置一个域名(Amazon Route 53),或启用 HTTPS 加密(AWS Certificate Manager)。

    清理资源