Contents

Ubuntu系统下利用Hugo搭建个人博客,并托管到Github Pages,最后绑定自己的域名

1 Hugo建立个人博客

1.1 安装Hugo和git

打开Terminal,输入sudo apt-get install hugo,等待安装完成后,输入hugo version查看版本,以验证正确安装。

接着在Terminal,输入sudo apt-get install git-all,等待安装完成,输入git version查看版本,以验证正确安装。

1.2 安装Hugo主题

以LoveIt主题为例,首先新建一个文件目录,用以存放你的个人博客文件,然后切换到该文件目录下,下载LoveIt主题。命令如下

hugo new site my_website
cd my_website

当然了,上述命令中的my_website可以换成你任意想要的名称。
切换到你新建的目录文件夹后,开始克隆LoveIt主题到themes文件夹。

git clone https://github.com/dillonzq/LoveIt.git themes/LoveIt

1.3 创建第一篇测试文章

hugo new posts/first_post.md

此命令为在posts文件夹下创建了一个名为first_post.md的markdown文件。可以用任意文本编辑器打开编写内容。

1.4 本地启动测试网页

使用以下命令

hugo serve -e production

如果直接使用hugo serve命令,会出现一些警告。

1.5 主题配置

详细的主题配置请查看LoveIt

2 托管到Github Pages

2.1创建Github Pages

首先需要你有一个Github帐号。登陆帐号后创建新的代码仓库。如图所示: /images/Hugo搭建个人博客/new_repository.png /images/Hugo搭建个人博客/new_repository2.png 注意:上图中的Repository name中的前缀要与你的Owner名称一致。因为我已经创建了,所以它提示存在该仓库。同时要勾选Add a README file。 然后在你的xxx.github.io里点击Settings,然后在左侧边栏找到Pages。你就可以看到Github Pages的链接了。

2.2 发布第一篇测试文章到Github Pages

首先打开Terminal,将文件目录切换到你的本地文件目录下(本文中是my_website)。 然后输入:

git clone [email protected]:xxx/xxx.github.io.git

其中的xxx代表你自己的github用户名,也就是Owner名称。如果克隆过程中出现 [email protected] : permission denied (publickey). fatal could not read from remote repository,则需要设置SSH Key。 代码如下:

ssh-keygen

然后一路回车确定。接着查看生成的公钥,代码如下:

cat /home/username/.ssh/id_rsa.pub

注意:代码中的username代表你计算机的用户名。
复制出现的公钥,粘贴到github->SSh and GPG keys->SSH keys里即可。

然后通过软链接链接你Hugo目录(本文中是my_website)下public文件夹与github仓库。

# delete public
rm -rf public

ln -s /home/username/my_website/xxx.github.io /home/my_website/public

注意:第二条命令,如果出现ln: failed to create symbolic link : No such file or directory类似的警告或者错误,则表示文件夹路径可能有误。
可以使用find / -name filename来查找文件夹路径。filename代指你想要查找的文件夹路径。

接着将目录切换到你的本地克隆仓库中,执行以下代码:

git add *
git commit -m “commit”
git push

稍等几分钟后,你就可以通过https://xxx.github.io/来访问你的个人网站。

3 给Gihub Pages绑定自己的域名

3.1 购买域名

在namesilo购买域名,然后进入依次点击Dashboard->Active Domains->Manage。找到自己想要使用的域名,使用Cloudflare的名称服务器,替换原本的NameServers即可。如下图所示。
/images/Hugo搭建个人博客/replace_DNS.png

3.2 在Cloudflare设置DNS解析

打开Cloudflare,添加你自己的域名过后,点击左侧边栏的DNS,设置解析记录。如下图所示。
/images/Hugo搭建个人博客/Cloudflare_record.png
上图中两个A类型的ip是通过命令ping xxx.github.io取得。最后一个CNAME类型,内容就是xxx.github.io。保存即可。

3.3 在Github Pages添加域名

登陆到Gihub托管你个人网页的仓库,然后Add file->Create new file。如下图所示提交新建文件。
/images/Hugo搭建个人博客/create_cname.png
当然你也可以在Settings->Pages->Custom domain中输入你的域名,查看情况。如没有报错和警告,静等十多二十分钟后。就可以使用自己的域名访问个人网站了。

4 Google收录你的个人网站

打开Google Search Console网站。如下图所示。
/images/Hugo搭建个人博客/google_search1.png
在网址前缀中填入你的网址,然后点击继续。会出现以下页面:
/images/Hugo搭建个人博客/google_search.png
下载此文件。将其放入my_website->static目录中。运行hugo,上传代码到github。 然后重新回到如上图所示的网页,点击验证。然后出现下图。
/images/Hugo搭建个人博客/google_search2.png
点击前往资源页面,添加站点地图。
/images/Hugo搭建个人博客/sitemap.png
提交即可,等待一段时间后,你的个人网站就可以通过Google搜索到了。