发布你的个人主页

ShellBeginner
立即练习

介绍

作品站已经运行,但仍显示示例简介。修改一个小文件,发布到服务器,对比本地编辑与实际网页的变化。

请先完成启动作品站实验。本节提供自己的新服务器、连接配置和网站代码。 每节使用独立的新环境,无需保留上一节的资源、文件或凭据。工具、连接和无关素材均已准备好。

认证考点

认证 考试任务 练习内容
AWS Certified Cloud Practitioner (CLF-C02) Task 3.3 操作 EC2 上的应用,并区分本地工作目录与远程服务器。

实验概览

概念图:本地简介通过 SSH 复制到网站服务器。

准备个人简介

本步骤,你将修改本地简介,而远程网站仍保留原有内容。

在 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 使用保存的地址,双引号让它作为一个值传入。

-F ssh_config 选择连接设置,ubuntu 是 EC2 上的用户,冒号后是远程目标路径:

scp -F ssh_config profile.json ubuntu@"$PUBLIC_IP":/home/ubuntu/portfolio/profile.json

首次连接可能提示保存了服务器主机公钥。传输显示 100% 表示文件复制完成,下面再确认应用效果。

刷新网站,应显示 Sam Rivera、Design with purpose. 和新介绍。应用每次请求都会读取简介,因此无需重启服务。

实际发布结果:EC2 网页显示新的姓名与简介。

SSH 地址后附加命令,会在服务器上执行它,再返回 LabEx 提示符。读取远程文件:

ssh -F ssh_config ubuntu@"$PUBLIC_IP" cat /home/ubuntu/portfolio/profile.json

它应与本地简介相同。这样既确认了复制结果,也确认了该文件驱动的页面。

如果仍显示旧名称,检查传输是否完成、地址是否与 AWS View 相同、目标路径是否正确,并刷新当前实验的网站。在其他目录创建文件不会发布主页。

清理网站服务器

本步骤,你将在确认发布成功后移除一次性实例。

website.env 也提供了 INSTANCE_ID。显示并对照 AWS View:

echo "$INSTANCE_ID"

只终止该实例:

aws ec2 terminate-instances --instance-ids "$INSTANCE_ID"

等待终止完成:

aws ec2 wait instance-terminated --instance-ids "$INSTANCE_ID"

AWS View 应显示 terminated,刷新网站应提示不再运行。保留网络和登录密钥,下一节会独立提供网站来练习访问规则。

总结

你修改本地 JSON 简介,通过 SCP 发布到 EC2,确认实际页面显示新内容,并通过 SSH 读取远程文件。文件复制完成与应用实际呈现是两个需要分别确认的结果。最后终止了服务器。

官方参考:SSH 连接 Linux 实例、向实例传输文件。