阿里云云服务综合实践期末大作业
一、基础任务(60分):Ghost博客网站搭建
任务要求
严格按照阿里云官方教程《在运行Ubuntu的实例上搭建Ghost博客网站》完整执行所有步骤,完成Ghost博客系统的部署与初始化。搭建Ghost博客网站-阿里云官方教程
官方教程执行要求
- 完整完成官方教程中全部章节(域名除外)
- 按照官方教程要求创建ECS实例、安装Node.js、MySQL、Nginx、Ghost-CLI
- 按照官方教程步骤完成Ghost的安装与配置
- 完成Ghost后台初始化,创建至少2篇包含图片的测试文章
重要操作提示
- 当官方教程提示输入博客URL时,输入
http://你的ECS实例公网IP地址 - 当官方教程提示设置SSL时,选择不设置SSL
- 最终通过
http://ECS实例公网IP地址访问博客前台,通过http://ECS实例公网IP地址/ghost访问博客后台
评分标准(按截图评分)
| 评分项 | 提交要求 |
|---|---|
| nginx -v mysql -V node -v | 三张截图,三个软件安装成功后版本 |
| 网站前台正常访问截图 | 截图需包含浏览器地址栏(显示ECS公网IP)和完整的博客首页 |
| 网站后台正常登录截图 | 截图需包含浏览器地址栏和Ghost后台管理界面 |
| 测试文章展示截图 | 截图需显示包含图片的文章详情页,图片需正常显示 |
二、必选任务(30分):OSS静态资源存储+基础云监控
第一部分:OSS静态资源存储(15分)
步骤1:创建OSS Bucket(阿里云控制台操作)
- 登录阿里云官网,进入"对象存储OSS"控制台
- 点击左侧菜单栏的"Bucket列表",然后点击右上角的"创建Bucket"按钮
- 在弹出的创建页面中,依次填写以下信息:
- Bucket名称:自定义一个名称(只能包含小写字母、数字和短横线,全局唯一)
- 地域:必须选择与你的ECS实例完全相同的地域(例如:华东1(杭州))
- 存储类型:选择"标准存储"
- 读写权限:必须选择"公共读"(否则上传的图片无法被访问)
- 其他所有选项(版本控制、日志存储、加密等)全部保持默认
- 点击"确定"完成Bucket创建
步骤2:创建RAM用户并获取访问密钥(阿里云控制台操作)
- 点击阿里云控制台右上角的头像,选择"访问控制RAM"
- 点击左侧菜单栏的"身份管理"→"用户",然后点击"创建用户"按钮
- 在创建用户页面中:
- 登录名称:自定义(例如:ghost-oss-user)
- 显示名称:自定义(例如:Ghost博客OSS用户)
- 访问方式:只勾选"编程访问",不要勾选"控制台访问"
- 点击"确定",此时页面会显示
AccessKey ID和AccessKey Secret- ⚠️ 重要提醒:这两个值只会显示一次,请立即复制保存到记事本中,关闭页面后无法再次查看
- 回到用户列表页面,找到刚刚创建的用户,点击右侧的"添加权限"按钮
- 在添加权限页面中:
- 左侧"选择权限"搜索框中输入
AliyunOSSFullAccess - 点击搜索结果中的
AliyunOSSFullAccess,将其添加到右侧"已选择权限"列表 - 点击"确定"完成权限添加
- 左侧"选择权限"搜索框中输入
步骤3:修改Ghost配置文件(ECS服务器操作)
- 使用SSH工具远程连接到你的ECS实例
- 输入以下命令进入Ghost安装目录:bash
cd /var/www/ghost - 输入以下命令打开Ghost的生产环境配置文件:bash
sudo nano config.production.json - 你会看到一个JSON格式的配置文件,找到
"url": "http://你的IP地址",这一行 - 在这一行的下一行,粘贴以下配置内容(注意保持JSON格式的缩进):json
"storage": { "active": "s3", "s3": { "accessKeyId": "替换为你刚才保存的AccessKey ID", "secretAccessKey": "替换为你刚才保存的AccessKey Secret", "region": "替换为你的Bucket地域代码", "bucket": "替换为你创建的Bucket名称", "endpoint": "https://替换为你的Bucket地域代码.aliyuncs.com", "forcePathStyle": false, "acl": "public-read" } },地域代码示例:如果你的Bucket在华东1(杭州),地域代码就是
oss-cn-hangzhou,endpoint就是https://oss-cn-hangzhou.aliyuncs.com - 按
Ctrl+O保存文件,然后按Enter确认文件名 - 按
Ctrl+X退出nano编辑器 - 输入以下命令重启Ghost服务,使配置生效:bash
ghost restart - 等待服务重启完成(约10-20秒)
步骤4:验证配置是否成功
- 打开浏览器,访问
http://你的ECS公网IP/ghost登录后台 - 点击"写文章",新建一篇测试文章
- 点击文章编辑器中的"添加图片"按钮,上传一张本地图片
- 图片上传完成后,右键点击图片,选择"在新标签页中打开图片"
- 查看新标签页的地址栏,如果URL以
https://你的Bucket名称.oss-xxx.aliyuncs.com/开头,说明配置成功
第二部分:云监控基础告警(15分)
步骤1:进入云监控控制台
- 登录阿里云官网,进入"云监控"控制台
- 点击左侧菜单栏的"主机监控"→"实例监控"
- 在实例列表中找到你的ECS实例
步骤2:创建CPU使用率告警规则
- 点击你的ECS实例右侧的"告警规则"按钮
- 点击右上角的"创建告警规则"按钮
- 在创建页面中填写以下信息:
- 规则名称:CPU使用率过高告警
- 监控指标:CPU使用率
- 统计周期:5分钟
- 统计方法:平均值
- 阈值:> 85%
- 持续周期:1个周期
- 通知方式:点击"添加通知对象",选择"短信/邮件通知",输入你的邮箱地址
- 点击"确定"完成创建
步骤3:创建磁盘使用率告警规则
- 重复上述步骤2,创建第二条告警规则
- 规则名称:磁盘使用率过高告警
- 监控指标:磁盘使用率
- 阈值:> 90%
- 其他配置与CPU告警规则相同
步骤4:测试告警通知
- 在告警规则列表中,找到刚刚创建的任意一条规则
- 点击右侧的"测试"按钮
- 检查你的短信/邮箱,确认收到了阿里云发送的告警短信/邮件
评分标准(按截图评分)
| 评分项 | 提交要求 |
|---|---|
| OSS Bucket创建成功截图 | 截图需显示Bucket列表及你创建的Bucket名称 |
| RAM用户权限配置截图 | 截图需显示已添加的 AliyunOSSFullAccess 权限 |
| OSS存储验证截图 | 截图需包含浏览器地址栏,显示图片URL为OSS地址 |
| 云监控告警规则截图 | 截图需显示已创建的两条告警规则 |
| 告警短信/邮件接收截图 | 截图需显示阿里云发送的告警短信/邮件内容 |
三、选作任务(10分):双ECS部署与架构优化
任务要求
- 按照官方教程的完全相同步骤,在第二台相同配置的ECS实例上独立部署一套Ghost博客系统
- 分别访问两台ECS的公网IP地址,验证两个网站都能正常打开前台和后台。
部署过程中会遇到的问题及解决方向
当网站从单台服务器扩展到两台服务器时,会出现以下单服务器部署不存在的问题,你需要在报告中说明实际现象及对应解决思路:(6个问题及解决方向,只做参考)
数据一致性问题
- 现象:两台服务器的文章数据、用户数据相互独立,在A服务器发布的内容在B服务器无法查看,反之亦然
- 解决方向:将本地MySQL数据库迁移至阿里云RDS MySQL数据库,让两台ECS实例连接同一个中央数据库。(或者服务器A本地部署MySQL后,服务器B不部署数据库,而是远程访问服务器A的MySQL)
静态资源共享问题
- 现象:如果未完成必选任务的OSS配置,在A服务器上传的图片在B服务器无法显示
- 解决方向:完成必选任务的OSS静态资源存储配置,所有服务器共享同一份存储在OSS中的静态资源
用户会话同步问题
- 现象:在A服务器登录后台后,访问B服务器后台时需要重新登录
- 解决方向:配置Ghost使用Redis存储会话信息,可使用阿里云Redis服务实现多服务器会话共享
配置同步问题
- 现象:在A服务器上修改了博客主题、网站设置或配置文件,B服务器不会自动同步这些修改
- 解决方向:使用配置管理工具实现多服务器配置自动同步,或制作包含完整配置的自定义镜像用于新服务器部署
故障容错问题
- 现象:如果其中一台服务器突然宕机,访问该服务器IP的用户将无法访问网站
- 解决方向:在两台服务器前端部署阿里云负载均衡SLB,将用户请求分发到健康的服务器上
监控覆盖问题
- 现象:仅为第一台服务器配置了云监控告警,第二台服务器出现故障时无法收到通知
- 解决方向:为所有ECS实例配置相同的云监控告警规则,实现全系统监控覆盖
评分标准
- 在问题1、5中,选择一个解决,选作任务就算完成。(问题2已解决;问题3、4是未来的需要处理的问题;问题6较为简单,这里提出只是希望主要这个可能出现的问题)
- 问题1,GHost系统提交文章,再访问A、B服务器,需要数据一致(课堂教师来查看)
- 问题5,两台服务器都正常状态时,访问alb负载均衡服务器,两台服务器都能访问;一台服务器挂机/其他异常状态时,访问alb负载均衡服务器,只能访问到正常的服务器,用户端不会出现异常。(课堂教师来查看)
作业提交要求
- 基础任务:提交6张对应评分标准的截图(也需要结合后续课堂展示,得到最终评分)
- 必选任务:提交5张对应评分标准的截图(也需要结合后续课堂展示,得到最终评分)
- 最终输出:整体的配置过程的简单描述,核心是文字说明+上诉要求的关键截图。
- 提交方式:pdf/word文档,具体方式待定。