云计算技术 实验三
山东大学 计算机科学与技术 学院 云计算技术 课程实验报告
- 学号:202000130046
- 姓名:付洪友
- 班级:数据20
- 实验题目:利用云平台搭建个人博客
- 实验日期:2023年3月14日
- 实验学时:2
实验目的
熟悉个人博客系统的搭建
具体包括:参考方案:注册Github账号,搭建Hexo环境并实现个人博客搭建,撰写实验报告。
硬件环境
联网的计算机一台
软件环境
Windows or Linux
实验步骤与内容
首先安装git和nodejs,并配置其环境变量,根据需求nodejs配置npm的国内镜像源、git配置。
安装Hexo
找一个空的文件夹,并在命令行进入该文件夹
npm install hexo-cli
mkdir myblog
cd myblog
npx hexo init
npx hexo generate
npx hexo server使用该命令将hexo-cli安装在文件夹,并创建myblog文件夹作为博客文件夹,将hexo初始化在myblog,并生成博客文件、部署该博客,得到如下图所展示的样子:

注册Github账号
生成SSH添加到Github实现更方便的上传等到github
git config --global user.name "friendy0"
git config --global user.email "friendy2021@outlook.com"查看是否成功
git config user.name
git config user.email
生成ssh公私钥,将公钥内容添加到github,验证操作是否成功:

创建friendy0.github.io仓库来部署该博客
将hexo部署到github
安装hexo-deployer-git插件
npm install hexo-deployer-git --save
修改hexo配置文件_config.yml
deploy:
type: git
repository: https://github.com/Friendy0/friendy0.github.io.git
branch: master然后重新生成博客并部署
npx hexo clean
npx hexo generate
npx hexo deploy并在github将展示分支由main改为master等github操作,自此一段时间后github也能显示该博客了
撰写博客及个性化主题
撰写博客可以使用命令hexo new post “BLOG_NAME”来实现,或者直接在myblog\source_posts下新建md文档并添加如下类似的文档属性内容,后面正常写文档:
---
title: Hello World
sticky: 1 # 数值越大,置顶的优先级越大
copyright: false
---至于个性化主题则下载相应主题并将_config.yml里theme参数修改为主题名称即可。
更多主题参数则在如下配置文件中修改:

结果展示:
本地:


Friendy0.github.io端:

修改名称后:

WordPress
相较于hexo,wordpress对代码的熟悉能力需求更低,更多的是可视化用户界面,有在线控制面板wordpress来控制主题的更换、文章的撰写、用户权限的设置,其还有丰富的插件系统等,在有php、mysql的虚拟主机的环境下可以实现该博客站点的搭建,支持邮箱撰写博客并上传发表,支持在线撰写文章、安装相应插件实现本地IDE撰写文章等。部署的文章是存储在mysql中的。



结论分析与体会
通过本次实验,我学会了如何使用GitHub和Hexo来搭建一个属于自己的个人博客,并在云平台上部署和更新。我了解了GitHub和Hexo的基本原理和操作方法,以及如何利用SSH Key来实现安全的连接和推送。我还学会了如何使用Markdown语言来编写博客内容,并且可以自由地选择不同的主题和插件来美化我的博客。
遇到的问题
在实验过程中,我遇到了一些问题和困难,比如在安装Git时出现了依赖包缺失的错误,在配置Hexo时出现了路径错误,在部署博客时出现了权限拒绝等。这些问题都是由于我对相关软件和命令不够熟悉所导致的。为了解决这些问题,我需要在网上查找相关资料,并且多次尝试不同的方法,最终才能成功完成实验。比如在ssh公钥对接github时出现了两个问题:
为了不让生成的公钥把原有的id_rsa.pub覆盖,需要修改名称,结果如下:

但是github并不会去认id_rsa_github_friendy0,故需要使用如下命令:
Set-Service -Name ssh-agent -StartupType automatic
ssh-agent bash
ssh-keygen -t rsa -C "friendy2021@outlook.com" -f C:\Users\Friendy\.ssh\id_rsa_github_friendy0
ssh-add .\id_rsa_github_friendy0识别成功
在解决上述问题后仍然不能成功上传到github
remote: Permission to Friendy0/friendy0.github.io.git denied to sduq
这是因为windows本机登录的账号不是deploy所用的仓库账号
解决:在控制面板–>用户账户–>凭据管理器–>管理Windows凭据 中删除git:https://github.com凭据,重新添加friendy0的凭据即可。
实验体会
通过本实验,我学会了如何在github里搭建一个个人博客,加深了对nodejs的了解和hexo的了解,学会了git的一些使用命令,我认识到了利用云平台搭建个人博客的优势和价值,比如可以节省服务器成本、提高访问速度、保证数据安全等。同时,我也意识到了自己在这方面还有很多不足和需要改进的地方,比如对GitHub和Hexo的使用还不够熟练、对Markdown语言还不够精通、对博客内容和风格还没有明确的定位等。
总体而言,本次实验是一次非常有意义和有趣的学习过程。它让我体会到了云计算技术给我们带来的便利和可能性,并且锻炼了我的动手能力和解决问题能力。它也让我发现了自己对编程、设计、写作等方面有着浓厚的兴趣,并且激发了我的创造力和想象力。它更让我明白了学习是一个永无止境并且充满乐趣的过程。
博客的博文地址:
Hexo博文地址:(最近更换了一github账户名,故不再是friendy0,而是f-hy)
https://f-hy.github.io/2023/03/21/%E4%BA%91%E8%AE%A1%E7%AE%97%E6%8A%80%E6%9C%AF-%E5%AE%9E%E9%AA%8C%E4%B8%89/
wordpress博客地址:
http://wp.frid.tech/index.php/2022/12/03/hello-world/




