外观
实训 03:部署并排查 Nginx 服务
约 1136 字大约 4 分钟
云计算实训第03次课
2026-07-30
任务情境
团队准备把课程学习站发布到云服务器。你需要安装 Nginx、发布一张静态首页、验证 TCP 80 的内外访问路径,并根据教师提供的故障案例完成一份证据化报告。
开始前
新建 Word 文档:
班级_学号_姓名_第03次课_Nginx服务与端口故障报告.docx解压配套包,填写其中的 nginx-service-report-template.docx,并阅读:
完成路径
A 路径:ECS 可用
在自己的 Ubuntu ECS 完成安装、站点发布、TCP 80 规则和公网验证。
B 路径:ECS 暂不可用
在 WSL 完成命令识读、访问链路图和教师提供的合成故障案例。报告中明确写“本次未形成 ECS 公网服务证据”,服务器可用后补交。
安全边界
- 只管理自己的课程 ECS,不在教师演示机或共享服务器上停止服务。
- 不删除 SSH 安全组规则,不开放全部协议和端口。
ufw未启用时只记录状态,不在不了解 SSH 规则时直接启用。- 修改 Nginx 配置前备份,修改后先运行
sudo nginx -t。 - 不把公网地址、账号、密码、私钥或控制台原图放进 Word。
- 故障由教师分配,不自行在他人服务器上制造故障。
任务 1:安装与服务检查
执行前检查:
[ECS] whoami
[ECS] hostname
[ECS] df -hT /
[ECS] apt-cache policy nginx确认目标无误后安装:
[ECS] sudo apt update
[ECS] sudo apt install nginx安装后检查:
[ECS] systemctl is-active nginx
[ECS] systemctl is-enabled nginx
[ECS] systemctl status nginx --no-pager
[ECS] sudo nginx -t写入 Word:
- 图 1:安装前账号、主机、磁盘和软件包状态;
- 图 2:Nginx 服务状态与配置检查;
- 解释
active、enabled和nginx -t分别证明什么。
任务 2:发布首页并完成本机验证
准备实验目录并备份默认站点:
[ECS] mkdir -p ~/cloud-course/lab-03/backup
[ECS] cd ~/cloud-course/lab-03
[ECS] sudo cp -a /var/www/html/. ./backup/
[ECS] nano index.html写入正文提供的 HTML,随后执行:
[ECS] sed -n '1,20p' index.html
[ECS] sudo install -m 0644 index.html /var/www/html/index.html
[ECS] stat /var/www/html/index.html
[ECS] sudo ss -lntp 'sport = :80'
[ECS] curl -I http://127.0.0.1
[ECS] curl -s http://127.0.0.1 | sed -n '1,20p'写入 Word:
- 图 3:TCP 80 监听证据;
- 图 4:ECS 本机 HTTP 状态和首页内容;
- 解释本机成功为什么还不能证明公网成功。
任务 3:核对两道网络门禁
检查主机防火墙:
[ECS] sudo ufw status verbose若状态为 active,按教师要求只允许 TCP 80;若为 inactive,只记录结果。
在阿里云控制台核对安全组入方向 TCP 80。截图只保留规则需要的协议、端口和来源范围,隐藏实例、账号和地址信息。
从 WSL 测试:
[WSL] ECS_IP="在这里填写自己的ECS公网地址"
[WSL] curl -I "http://$ECS_IP"最后从 Windows 浏览器访问课程首页。
写入 Word:
- 图 5:主机防火墙状态;
- 图 6:脱敏后的安全组 TCP 80 规则;
- 图 7:WSL HTTP 响应;
- 图 8:Windows 浏览器中的课程首页。
任务 4:完成故障工单
教师会分配一种故障:
- 服务停止;
- Nginx 未监听预期端口;
- ECS 本机正常但安全组没有 TCP 80。
按以下顺序取证:
[ECS] systemctl status nginx --no-pager
[ECS] sudo ss -lntp 'sport = :80'
[ECS] curl -I http://127.0.0.1
[ECS] sudo journalctl -u nginx -n 30 --no-pager
[ECS] sudo tail -n 20 /var/log/nginx/error.log需要外部证据时,再从 WSL 发起 HTTP 请求并核对安全组。
故障报告填写:
原始现象:
第一条证据:
服务状态:
监听端口:
本机 HTTP:
公网路径:
故障原因:
最小修复:
修复后验证:任务 5:验收与提交
在实训包目录运行:
[ECS] bash verify.sh验收脚本只检查当前可观察状态,不能代替人工解释。Word 中记录 [PASS]、[WARN] 和对应处理。
提交前检查:
- 首页可以从 ECS 本机和外部访问;
- Nginx 服务、端口和 HTTP 证据完整;
- 故障报告形成闭环;
- 截图有编号、位置、关键输出和结论;
- 公网地址、账号和控制台信息已脱敏;
- 最终只上传一个
.docx; - 智慧职教显示“提交成功”。
