在 Amazon EC2 上使用 Nginx 部署网页
Source: Dev.to
创建并部署 Amazon EC2 实例
你是否曾经想过云服务器是如何工作的,或者如何在不拥有实体服务器的情况下将自己的网站发布到互联网上?
在本实验中,我将一步步指导你创建 Amazon EC2 实例的过程,清晰解释每一个必要的配置,让你能够轻松理解并完成此操作。除此之外,我们还会使用 Nginx 部署一个真实的网站,并学习如何用自己的内容进行定制,使其可以从任何地方访问。
步骤 1 – 访问 Amazon EC2
- 在 AWS 控制台的搜索框中输入 “EC2”。
- 点击 EC2 服务进入主面板。
- 点击橙色按钮 “Launch instance”(启动实例)开始创建流程。
步骤 2 – 实例初始配置
| 项目 | 描述 |
|---|---|
| 名称 | laboratorio-ec2(易于辨识的标识)。 |
| AMI | Amazon Linux(为 AWS 优化,轻量且广泛使用)。 |
| 实例类型 | t3.micro – 基础且低成本的选项,包含在 Free Tier 中,足以满足小型项目和测试。 |
步骤 3 – 创建密钥对
- 为密钥对指定一个易于识别的名称。
- 选择 RSA 作为密钥类型(标准且安全的 SSH 算法)。
- 选择 .pem 格式(适用于 Linux、macOS 或 Windows 上的 Git Bash)。
重要提示:下载并将 .pem 文件保存在安全位置;如果丢失,将无法连接到实例。
注意:本实验中使用 EC2 Instance Connect(通过浏览器访问)进行连接,但在实际环境中 .pem 密钥是必不可少的。
步骤 4 – 网络配置(Security Group)
| 端口 | 协议 | 描述 |
|---|---|---|
| 22 | TCP | SSH – 允许远程登录实例。 |
| 80 | TCP | HTTP – 用于访问已部署的网页。 |
这些规则充当防火墙,控制入站流量。
步骤 5 – 连接实例
- 在 实例 面板中,选中刚创建的实例。
- 点击 “Connect”(连接)。
- 在 EC2 Instance Connect 部分,点击 “Connect” 打开浏览器终端。
步骤 6 – 更新系统并安装 Nginx
# 更新系统软件包
sudo dnf update -y
# 安装 Nginx
sudo dnf install nginx -y
步骤 7 – 启动并设置 Nginx 开机自启
# 启动服务
sudo systemctl start nginx
# 设置实例重启后自动启动
sudo systemctl enable nginx
步骤 8 – 获取公网 IP 地址
- 在 实例 面板中,选中已创建的实例。
- 在详情区找到 “Public IPv4 address”(公网 IPv4 地址)字段。
- 复制该地址,这就是在浏览器中访问你网站时使用的 URL。
步骤 9 – 修改网页
# 切换到 Nginx 默认的网页目录
cd /usr/share/nginx/html
# 使用 nano 编辑 index.html(也可以使用其他编辑器)
sudo nano index.html
index.html 文件包含浏览器中显示的内容。删除它或用你自己的 HTML 代码替换。
步骤 10 – 编辑并保存网页
- 删除
index.html中的原有内容。 - 粘贴你的网站 HTML 代码。
- 保存更改(在 nano 中按
Ctrl+O),然后退出编辑器(Ctrl+X)。
现在,刷新浏览器中的公网 IP 地址,你应该能看到刚刚创建的页面。
¡Listo! Has creado, configurado y puesto en marcha una instancia EC2 con Nginx, y has desplegado tu p
Ropio 网站可从任何地方访问。 🎉
使用 nano 保存更改
- 按下 Ctrl + X 退出并保存更改。
Source:
第11步:查看网页
为了查看我们工作的结果,重新使用 Amazon EC2 实例的公网 IP 地址。
- 打开网页浏览器。
- 输入以下 URL(将
TU_IP_PUBLICA替换为实例的实际 IP):
http://TU_IP_PUBLICA
- 浏览器将显示已修改的网页。
实验室学习
- Instancia EC2:逐步在 Amazon EC2 上启动和配置实例的过程。
- Conexión remota:使用 EC2 Instance Connect 进行远程连接。
- Servidor web:使用 Nginx 部署功能性网页服务器。
- Security Groups:了解安全组在通过 SSH 和 HTTP 控制访问方面的重要性。
- IP pública:理解公共 IP 如何使网页能够从互联网访问。
总体而言,这是一项有助于将理论与实践相结合并了解如何在云端发布应用的有用实践。