山东大学 计算机科学与技术 学院 云计算技术 课程实验报告

  • 学号: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/

http://friendy.freedevilhost.ga/