创建 EC2 实例并使用 SSH 连接后要做的事项
发布: (2026年1月31日 GMT+8 15:41)
4 min read
原文: Dev.to
Source: Dev.to
🧭 大局观
此时,你已经:
- 创建了一个 EC2 实例
- 通过 SSH 连接到了它
现在你已经进入服务器。 在安装任何东西或进行更改之前,你需要了解 你正在运行的是什么。
🧱 第 1 阶段 — 确认系统
1️⃣ 检查操作系统 & 内核
uname -a
目的
- 确认操作系统类型、内核版本、架构以及运行环境(AWS)
为什么重要
- 决定使用哪种工具(
dnf、systemctl) - 防止使用错误的命令(例如在 Amazon Linux 上使用
apt)
📦 第 2 阶段 — 包管理基础
2️⃣ 更新系统软件包
sudo dnf update
目的
- 将所有已安装的软件更新到最新
- 应用安全补丁
为什么重要
- 安全
- 稳定
- 新服务器的最佳实践
3️⃣ 查询已安装的内核
rpm -q kernel
目的
- 通过 RPM 数据库检查内核版本
为什么重要
- 内核像其他软件包一样安装
- 在升级和调试时提供帮助
4️⃣ 安装 nginx
sudo dnf install nginx
目的
- 从可信仓库下载并安装 nginx
为什么重要
- 演示正确的软件安装方式
- 依赖关系会自动解析
5️⃣ 验证 nginx 已安装
rpm -q nginx
目的
- 在 RPM 层面确认 nginx 已存在
为什么重要
- 安装 ≠ 正在运行
- 始终验证安装结果
⚙️ 第 3 阶段 — 服务管理 (systemd)
6️⃣ 检查 nginx 服务状态
sudo systemctl status nginx
目的
- 显示 nginx 是否在运行,以及日志、PID、运行时间和配置校验
为什么重要
- 必须监控服务,而不是假设它在运行
7️⃣ 启动 nginx(如有需要)
sudo systemctl start nginx
目的
- 启动 nginx 服务
为什么重要
- 已安装的服务不会自动运行
🌐 第 4 阶段 — 验证功能
8️⃣ 本地测试
curl localhost
目的
- 验证 nginx 在内部能够响应
为什么重要
- 将 Linux 本身的问题与 AWS 网络问题区分开来
9️⃣ 在 AWS 中打开 80 端口
操作
- 在安全组中,允许 HTTP(80 端口)流量
目的
- 允许外部访问
为什么重要
- AWS 防火墙默认阻止流量
📁 第 5 阶段 — 安全地了解配置
🔟 安全查看 nginx 配置
sudo less /etc/nginx/nginx.conf
目的
- 只读方式阅读主 nginx 配置文件
为什么重要
- 在修改之前先了解配置
- 避免破坏生产环境的配置
🧠 你已经掌握的关键概念
- Linux 内核 vs. 操作系统
- 包管理器(
dnf、rpm) - 已安装的软件 vs. 正在运行的软件
- systemd 与服务
- 安全的配置检查
- 零停机时间的重载
- 云网络基础
- 生产环境卫生
🧩 思维模型(非常重要)
EC2 instance
├── Linux OS
│ ├── kernel (rpm)
│ ├── packages (dnf)
│ └── services (systemctl)
│
├── nginx installed (rpm)
├── nginx running (systemd)
├── nginx configured (/etc/nginx)
└── traffic allowed (AWS SG)
🎯 你现在的位置
你已经能够 在云上操作并理解 Linux 服务。 这为进一步学习以下内容奠定了基础:
- Docker
- Kubernetes
- CI/CD
- SRE
- 平台工程