教程目标
- 学习亚马逊云科技区域、EC2 的基本概念和操作。
- 成功启动并配置一个 EC2 实例。
- 在 EC2 实例上安装和配置 NGINX Web 服务器。
- 上传您的网站文件并使其在互联网上可以访问。
准备工作
- 一个亚马逊云科技海外区域账户( 请注意: 中国区(北京和宁夏)由光环新网和西云数据运营,需要单独的中国区账号才能使用。本教程以国际站账号为例。)
- 一个 SSH 客户端。
第一步:创建 EC2 实例
全部打开创建 EC2 实例
EC2 实例是您在云中的虚拟服务器。我们将创建一个运行 Linux 操作系统的实例来托管我们的网站。
1. 选择区域 (Select Region)
- 登录您的亚马逊云科技控制台。在开始任何操作前,请先查看控制台的右上角。这里有一个下拉菜单,显示了当前所在的区域(例如“美国东部(俄亥俄)us-east-2”)。
- 点击该下拉菜单,根据靠近用户、成本、合规性等原则,选择一个最适合您业务的区域。对于本教程,您可以选择任意一个您偏好的区域,例如“亚太地区(东京)ap-northeast-1”。
2. 启动 EC2 实例
- 在选定区域后,于控制台顶部的搜索框中输入 "EC2" 并选择 EC2 服务。
- 然后,点击左边侧边栏“实例”,并点击“启动新实例”按钮
3. 命名和选择操作系统
- 名称: 为您的实例取一个容易识别的名称,例如 my-first-website。
- 应用程序和操作系统映像 (Amazon 系统映像): 选择 "Amazon Linux"。我们将使用 Amazon Linux 2 AMI。
4.选择实例类型
实例类型: 选择 t2.micro。这个实例类型符合亚马逊云科技的免费套餐条件,适合学习和小型网站。
5. 配置密钥对
- 密钥对(登录): 为了安全地连接到您的 EC2 实例,您需要一个密钥对。点击“创建新密钥对”。
- 密钥对名称: 输入一个名称,例如 my-ec2-key。
- 密钥对文件格式: 如果您使用 Windows 上的 PuTTY,请选择 .ppk。对于 macOS 和 Linux,请选择 .pem。
- 点击“创建密钥对”并妥善保管下载的密钥文件。这是您唯一一次可以下载这个文件的机会,请务必安全保存。
6. 配置网络设置
- 在“网络设置”部分,点击“编辑”。
- 安全组: 这是一个虚拟防火墙。选择“创建安全组”我们为其命名 my-website-sg。
- 入站安全组规则:(需要点击“添加安全组规则”,添加两条安全组规则)
SSH (端口 22): 允许我们连接到实例。为了安全,建议将“源类型”设置为“我的 IP”,这样只有您的电脑可以连接(为了演示方便,我这里选择“任何位置”)
HTTP (端口 80): 允许用户通过浏览器访问您的网站。将“源类型”设置为“任何位置”。
7. 启动实例
- 保持其他设置默认,然后点击右下角的“启动实例”按钮。
第二步:连接到您的 EC2 实例
全部打开1.获取实例的公有 IP 地址
- 在 EC2 控制台的实例列表中,找到您刚刚创建的实例。在“详细信息”选项卡中,复制“公有 IPv4 地址”。(启动实例后需要等待实例启动完成)
2. 使用 SSH 连接
打开您的终端 (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
连接到实例后,我们来安装 NGINX Web 服务器。
1. 更新系统并安装 NGINX
# 更新软件包列表
sudo yum update -y
# 安装 NGINX
sudo amazon-linux-extras install nginx1 -y
2. 启动并设置开机自启
# 启动 NGINX 服务
sudo systemctl start nginx
# 设置 NGINX 开机自启
sudo systemctl enable nginx
3. 验证 NGINX 是否运行
- 在您的浏览器中,访问 http://your-instance-ip (替换为您的实例公有 IP)。您应该能看到 NGINX 的蓝色欢迎页面。
第四步:部署您的网站内容
全部打开1. 创建一个简单的 HTML 文件
我们将替换掉默认的欢迎页面。在您的 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'
2.刷新浏览器
- 再次访问 http://your-instance-ip。您现在应该能看到您刚刚创建的页面内容。
3.上传您自己的文件 (可选)
* 您可以使用 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)。
清理资源
测试后如不需要以上EC2实例,请及时终止资源以免产生费用。
Reference:
https://aws.amazon.com/cn/getting-started/hands-on/stable-diffusion-deployment/
https://aws.amazon.com/cn/getting-started/hands-on/deploy-a-java-application-on-linux/