利用hexo+github搭建个人博客

可以利用hexo+github或hexo+gitee搭建个人博客

因为gitee创建仓库用gitee pages要高举身份证拍照,为了避免麻烦,我以hexo+github为例

github始终打不开怎么办,下载steam++开加速即可打开

发布文章的步骤

  • hexo new ‘xxx’ # 在/source/_posts/路径下生成.md文件 注:不能直接创.md文件要用命令来生成
  • 编辑.md文章
  • hexo c == hexo clean # 清除缓存
  • hexo g == hexo generate # 生成静态文件
  • hexo d == hexo deploy # 部署到github中,更新网页端的内容
  • hexo s == hexo server # 通过启动本地服务器,预览文章效果
  • hexo n == hexo new

一键部署到远程github上

1
hexo clean && hexo g && hexo d

对hexo server的解释:

对已发布的文章进行修改后,需要重新运行 hexo server 命令来生成最新的静态页面,并在浏览器中刷新以查看更改的效果

1
hexo s

搭建过程中遇见的一些问题

  • 下载Node.js后,使用npm,如果出现’npm’ 不是内部或外部命令,也不是可运行的程序

  • 如果遇到输入hexo server之后弹出 http://localhost:4000/点击打不开的情况

    输入 npm install hexo-server --save

    或者打开控制面板 — 程序和功能 — 打开或关闭Windows功能 —- 勾选上Internet Informent Services —–点击确定即可

  • ssh -T git@github.com 这是ssh默认在C盘下的命令

    ssh -i “E:\blog\ssh\id_rsa” -T git@github.com 对密钥有指定路径的访问方式

为解决如图问题,查阅大量资料,了解到:这是由于github的22端口被防火墙拒了导致ssh连接被拒绝

解决方法一:

既然ssh协议连接github有问题,何不换一种方式呢?采用https协议连接github。

查看当前git的远程仓库版本

1
git remote -v

运行后效果如下

1
2
origin  git@github.com:unlimitbladeworks/Data-Struts-Learning.git (fetch)
origin git@github.com:unlimitbladeworks/Data-Struts-Learning.git (push)

采用https协议连接gihub

移除掉远程仓库的配置

1
git remote rm origin

重新添加新的远程仓库,以https的形式

1
git remote add origin https://github.com/Pencil1024/Pencil1024.github.io.git

运行效果如下

1
2
origin  https://github.com/Pencil1024/Pencil1024.github.io.git (fetch)
origin https://github.com/Pencil1024/Pencil1024.github.io.git (push)

解决方法二(推荐):

原因分析:

问题大多是因为git进行push或者hexo d的时候改变了一些.deploy_git文件下的内容。

1.删除 .deploy_git 文件夹;
2.输入 git config --global core.autocrlf false
3.然后,依次执行:

1
2
3
hexo clean
hexo g
hexo d

一些概念

  • 客户端与服务端

    • 客户端:向服务器发送请求的一方

    • 服务端:收到客户端的请求做出回应的一方

  • ssh(Secure Shell 是一种网络协议,用于在不安全的网络中以安全的方式进行远程登录和执行命令)

    • 远程登录:通过 SSH,可以在本地计算机上使用命令行界面(如终端)连接到远程计算机并执行命令。远程登录允许您在不直接物理接触远程计算机的情况下进行管理、配置和维护
    • 安全传输:SSH 提供了加密和数据完整性验证的功能。所有通过 SSH 连接传输的数据都是加密的,这使得它们在网络上难以被窃听和篡改
    • 文件传输:除了远程登录,SSH 还支持通过 SCP(Secure Copy Protocol)或 SFTP(SSH File Transfer Protocol)在本地计算机和远程计算机之间安全地传输文件。
    • 远程执行命令:使用 SSH,您可以远程执行命令并获取执行结果。通过这种方式,您可以在远程计算机上执行各种操作,而无需直接访问该计算机。
  • git(Git是一种分布式版本控制系统,它可以有效地跟踪和管理文件的变更)

    • 版本控制:Git可以跟踪文件的每一次修改,记录文件的变更历史。您可以随时回退到之前的版本,比较不同版本之间的差异,并恢复丢失或错误的更改。
    • 分支管理:Git允许您创建多个分支,每个分支可以独立进行开发工作。这样可以在不影响主要代码的情况下进行实验、修复错误或并行开发不同的功能。分支可以合并到主分支或其他分支,以整合不同的工作成果。
    • 协同开发:Git使多人协同开发变得更加简单。每个开发者可以在自己的本地仓库中进行工作,并将自己的更改推送到共享的远程仓库中。通过合并(merge)或重播(rebase)不同的分支,多个开发者的工作可以整合在一起。
    • 远程仓库:Git支持与远程仓库进行交互,如GitHub、GitLab、Bitbucket等。您可以将本地仓库的更改推送到远程仓库,或者从远程仓库获取最新的更新。

献上搭建过程中参考的优质博客:

【Hexo】Hexo搭建Butterfly主题并快速美化_hexo主题butterfly配置-CSDN博客

node.js 安装详细步骤教程_nodejs如何装-CSDN博客

git安装教程-CSDN博客

git官网下载太慢解决方法-CSDN博客

快速搭建个人博客——保姆级教程-CSDN博客

hexo发生error:spawn failed错误的解决方法_error: spawn failed-CSDN博客