Hexo教程(3)——部署到GitHub

  我们之前的工作是在本地搭建的Hexo服务,只有自己能看到。如果想让别人也能访问到你的博客,就必须部署在服务器上。但是仅仅为了一个静态网站就租一个服务器,不仅配置麻烦,而且还花钱。有很多平台提供静态网站托管服务,这里选择了GitHub Pages。今天就介绍如何把本地Hexo部署到GitHub上。

部署到GitHub

创建GitHub仓库

  作为全球最大同性交友社区,GitHub也提供个人博客托管服务。不会用GitHub的也不要紧张,以下都是很基础的操作。
  首先注册一个GitHub账户,然后创建一个名为[账户名.github.io]的仓库(repository),这是固定写法。

与GitHub连接

  GitHub不接受非法的提交,所以本地必须与GitHub账户相联。首先打开终端,输入以下命令:

$ git config --global user.name [你的GitHub用户名]
$ git config --global user.email [你的GitHub注册邮箱] 

  本地通过SSH与GitHub相联,所以需要生成一个SSH key,会产生一个公钥和一个私钥,公钥提交到GitHub账户上,私钥自己保留。生成新的key之前,先检查一下有没有旧的。

$ cd ~/.ssh

  如果显示No such file or directory,那就表示没有。如果有,就会跳转到ssh目录下,我们需要把旧的删掉:

$ rm id_rsa*

  删之前也可以备份一下哦。然后就可以生成新的key了:

$ ssh-keygen -t rsa -C [你的GitHub注册邮箱]

  系统会提示你添加加密串,可以不添加的,直接三个回车跳过。

  然后就可以在~/.ssh目录下找到新生成的id_rsaid_rsa.pub。在GitHub的setting中,有一个SSH keys的选项,在那里新建一个SSH Key,Title随意填,把id_rsa.pub文件里的内容粘贴到Key栏。最后点击添加即可。最后我们测试一下:

$ ssh -T git@github.com

  出现You've successfully authenticated, but GitHub does not provide shell access.说明连接成功。

部署到GitHub

  下面我们将Hexo与GitHub相联。

  还记得上一节的配置文件_config.yml吧,里面有一个deploy选项,请按如下方式填写:

deploy:
  type: git
  repo: https://github.com/[GitHub账户名]/[GitHub账户名].github.io.git
  branch: master

  下一步,在终端安装Git部署插件

$ npm install hexo-deployer-git --save

  最后我们输入运行以下三个命令,作用分别是清理旧文件,生成新的静态网页和部署。

$ hexo clean 
$ hexo g 
$ hexo d

  OK!部署成功,在浏览器地址栏输入你的仓库名,就可以看到你的博客啦!

绑定域名

  我们现在的博客网址是GitHub提供的,有时候我们更想要一个属于自己的域名。这部分不难,但是要一步一步来。

买域名

  域名服务商有很多,我只用过GoDaddy,还可以,不过风评好像一般般。我没用过别的,所以不评价别的。而且GoDaddy已经不支持SOPA了,用起来不会被谴责。

DNS设置

   我们不用GoDaddy的DNS服务,因为其默认DNS在国内好像ping的延时比较大。这里我用的DNSpod,很稳。

   注册好后,添加自己刚刚买的域名。按下图所示添加记录(除了最后一行的记录值)。

   注意前两行的记录值,其实是GitHub Page的IP地址。最后一行的记录值,换成你自己的仓库地址。

  回到GoDaddy,找到你的域名的DNS管理,使用自定义域名服务器。添加如下两个域名服务器地址:

f1g1ns1.dnspod.net
f1g1ns2.dnspod.net

域名绑定

  最后一步,在你的Hexo的source目录下,创建一个名为CNAME的文件,注意,没有后缀。里面只写自己买的域名,建议不加www.,只写域名.com

  好啦~试一试,到终端重新生成一遍,再发布一下。最后到浏览器地址栏敲入自己的域名,就能看到自己的博客啦~(看不到也没关系,DNS有延迟,等一等就好了。)

小结

  今天介绍了如何把本地Hexo服务部署到GitHub上,并绑定自己的域名。下节我们介绍主题的定制。我用的是Next主题。

  元旦快乐~

坚持原创技术分享,您的支持将鼓励我继续创作!
0%