介绍
作品站已经运行,但仍显示示例简介。修改一个小文件,发布到服务器,对比本地编辑与实际网页的变化。
请先完成启动作品站实验。本节提供自己的新服务器、连接配置和网站代码。 每节使用独立的新环境,无需保留上一节的资源、文件或凭据。工具、连接和无关素材均已准备好。
认证考点
| 认证 | 考试任务 | 练习内容 |
|---|---|---|
| AWS Certified Cloud Practitioner (CLF-C02) | Task 3.3 | 操作 EC2 上的应用,并区分本地工作目录与远程服务器。 |
实验概览

准备个人简介
本步骤,你将修改本地简介,而远程网站仍保留原有内容。
本节提供一台全新的、已经运行的网站服务器。等待 Terminal 和 AWS View 就绪后,从当前实验的 AWS View打开作品站,确认显示 Alex Morgan。无需重新启动或找回上一节的服务器。

本地文件位于 LabEx 工作环境,远程文件位于 EC2 网站服务器。修改本地文件不会自动改变远程网页。
进入工作目录:
cd /home/labex/project
使用 cat 查看提供好的简介:
cat profile.json
JSON 用命名字段保存设置。name 出现在导航、关于和页脚,headline 是大字号主标题,about 是简短的辅助介绍。原简介中的 \n 表示 JSON 字符串内的换行;本节练习标题使用一行。文字放在双引号中,字段用逗号分隔。网站代码已经提供,只需修改这三个值。
cat > profile.json 将文字写入文件,而不是显示出来。<<'JSON' 读取随后的文本,直到结束行 JSON。复制整个代码块,包括两个标记行:
cat > profile.json <<'JSON'
{
"name": "Sam Rivera",
"headline": "Design with purpose.",
"about": "Brand identities and digital experiences."
}
JSON
读回文件,检查三个练习值:
cat profile.json
为了通过检查,本节使用给定内容。完成练习后可以继续探索其他简介文字。
刷新网站,仍应显示 Alex Morgan。这是预期结果:本地已修改,但尚未发布到服务器。
发布并查看主页
本步骤,你将发布刚准备好的简介,并在实际网页中确认变化。
SSH 提供加密的服务器连接,SCP 通过这条连接复制文件。提供好的 ssh_config 已选定本节的登录密钥和连接路线,你可以专注于发布哪个文件。
website.env 保存本节服务器的地址和资源标识。source 把其中的变量赋值读入当前 Terminal。先显示要连接的地址:
source website.env
echo "$PUBLIC_IP"
将地址与 AWS View 对照。$PUBLIC_IP 使用保存的值,双引号让它作为一个完整参数传入。
现在把本地的 profile.json 复制到网站。-F ssh_config 选择连接设置,ubuntu 是 EC2 上的用户,冒号将服务器地址与目标文件路径分开:
scp -F ssh_config profile.json ubuntu@"$PUBLIC_IP":/home/ubuntu/portfolio/profile.json
首次连接可能提示已添加这台服务器的主机公钥。传输达到 100% 表示复制完成。接下来查看网页,确认这个文件带来的变化。
刷新从当前实验 AWS View 打开的作品站,应显示 Sam Rivera、Design with purpose. 和 **Brand identities and digital experiences.**。应用每次请求都会读取简介,因此无需重启服务。

最后,再确认服务器上的文件。SSH 地址后附加的命令会在远程服务器执行,完成后返回 LabEx 提示符:
ssh -F ssh_config ubuntu@"$PUBLIC_IP" cat /home/ubuntu/portfolio/profile.json
远程 JSON 应与本地文件一致。这样既确认了文件复制,也确认了文件驱动的网页。如果仍显示 Alex Morgan,检查传输是否完成、地址是否与 AWS View 相同、目标路径是否正确,再刷新当前实验的网站。
这次发布已经完成,可以保留网站欣赏结果。下一节会提供自己的新服务器,并介绍哪条网络规则允许访客访问它。
总结
你修改了本地 JSON 简介,通过 SCP 发布到 EC2,再用 SSH 确认远程文件。实际网页出现新的姓名和标题,说明修改已经到达应用,而不只是保存在本地。
官方参考:SSH 连接 Linux 实例、向实例传输文件。



