hexo博客搭建(二):把hexo博客部署到github网页托管,实现通过类似xxx.github.io来访问博客
本文主要讲解如何搭建hexo博客网站,并直接部署在github上,实现通过
xxx.github.io
来访问博客,同时针对云服务器的用户,可以把Hexo博客同步部署到服务器上,通过宝塔Linux面板架设网站,并实现域名解析和绑定。针对没有云服务器的用户,也给出了直接部署在个人的Linux终端(比如:树莓派或者其他Linux开发板,软路由,NAS等)的方案和思路,并给出通过内网穿透方法实现通过自主域名访问博客的方法。最终实现可以通过xxx.github.io
和自主域名访问博客网页。 这里不对Hexo博客的特性做说明,详细的Hexo相关的内容,可以参考Hexo官方网站:https://hexo.io/zh-cn/
这里用宝塔面板主要因为:一方面宝塔面板免去了Nginx的相关配置,可以直接用可视化操作来部署网页;另外一方面,一台Linux服务器可以同属部署多个网站,可以统一用宝塔面板统一管理。也方便该服务器不仅可以用来部署网站,还可以同时作为其他左右使用(比如可以用来做远程代码调试,内网穿透服务等)。
本文主要分四个章节来讲解:
二:如何把Hexo搭建的博客同步到github的网页托管服务上,实现以
xxx.github.io
(其中xxx
为你的github用户名)访问;四:如何把博客部署到本地的Linux服务器(树莓派或者其他Linux开发板,软路由,NAS等)上,通过内网穿透服务和自主域名绑定实现实现自主域名的访问。
一般情况下,自主域名需要做域名解析,所以,它只能访问你的云服务器或者你本地的Linux服务器,二选一即可,把hexo博客部署在Linux服务器上的操作在第三章节的前面两个部分。
二、把hexo博客部署到github网页托管,实现通过类似xxx.github.io
来访问博客
本节讲解如何把在本地PC部署好的博客系统同步到GitHub上,实现可以直接用
xxx.github.io
来访问你博客,在这里,你首先需要有一个github的账号,这里假设的github的账号名就就是senysunny
,到时候你只需要替换你的账户名即可。另外需要说明的是,由于github的服务器在国外,可能会导致你登录和使用GitHub缓慢,这里你可能需要VPN服务实现github的流畅访问,这里不做VPN服务做介绍,正常情况下github国内是可以访问的。 本来想着也可以把博客假设到gitee上,但是gitee目前已经停止了
gitee pages
服务,所以无法实现静态网页的托管服务,这里做一个说明。 涉及的工具和软件:
- github账户: https://github.com/
- 必要情况的下的VPN服务。
1、 把Hexo博客部署到GitHub上
- 创建一个gtihub的仓库,这个仓库的名称为
用户名.github.io
。比如,在这里我创建的便是:SenySunny.github.io
。注意,需要设置为”Public“,确保用户可以访问。
- 为 github服务器配置用户公钥,在你的电脑终端中输入
ssh-keygen -t rsa -C "邮件地址"
,然后输入4次回车,如果曾经创建过公钥,可能会提示你是否覆盖,输入Y回车即可。
1 | ssh-keygen -t rsa -C "senysunny@163.com" |
实际的效果如下:
- 此时会在你的电脑
C:\Users\用户名
目录下有一个.ssh
文件夹,里面有一个id_rsa.pub
文件,我们可以复制一份出来备份,后面都会用的到,用记事本打开该文件,复制里面的内容。 - 打开你的github的用户设置界面,选择左侧的
SSH and GPG keys
菜单,在里面添加一个SSH keys
,其中Title
可以随机填入,如下图:
- 你可以在终端中输入
ssh -T git@github.com
测试是否成功,如果成功,会提示You've successfully authenticated
的字样。
1 | ssh -T git@github.com |
- 修改博客根目录下的
_config.yml
文件,这里只需要修改\# Deployment
部分内容即可:
1 | # Deployment |
- 如果你是第一次使用git,输入以下内容创建一个本地的git账户信息
1 | git config --global user.name "你的名字" |
比如我,输入的信息如下:
1 | git config --global user.name "SenySunny" |
- 此时我们重新在终端中输入
hexo cl
来清除缓存,再通过hexo g
来重新生成静态网页, 然后通过hexo d
(其为hexo deploy
de 缩写)来把生成的网页部署到github上
1 | hexo cl |
- 这时,进入我们创建的仓库,就可以看到有内容被添加仓库中了,等待十几秒中之后,我们输入
https://senysunny.github.io/
就可以访问博客了,这个博客是可以远程访问的,效果如下: