经历过这次迁移,我的博客站点算是维护过四次之多了。这个博客最初诞生的时候是部署在一个网友的服务器上的,第一次上线的时候还是一个 Wordpress 的站点。后来因为想弄到自己的服务器上,就搬了出来。随后了解到了 Hexo,就干脆整个迁移到 GitHub 上。而这次,却又从 GitHub 上迁移回个人的服务器,算是折腾了好大一圈。估计这次迁移后,就不会再有太大改动了。
这次迁搬出来后主要维护了以下几点:
- 将服务器系统从 CentOS 更改为 Ubuntu
- 将博客的整体主题做了更换
- 关闭了原有的博客站点
- 强制使用 HTTPS 访问本站
- 从 GitHub 迁移到自己的服务器上
下面来依次谈谈这几点维护的原因。
从 CentOS 更换到 Ubuntu
以前整个站点用的 LNMP 的架构,因为第一版的博客是使用 Wordpress 搭建的,第一次接触 Linux,就是接触的 CentOS。但随着时间的推移,我个人接触更多的反而是 Ubuntu,索性这次搬迁,全部做一次规整了。
博客整体主题做了更换
博客的主题使用的是 Hexo Next,在页面的 Footer 处我也保留了主题的链接,如果对这个主题感兴趣,可以点过去。
主题做了很多修改,最明显的修改就是可以看到博客的背景上有 一个粒子特效。
有不少人来信问我是怎么做到的,其实并不复杂,GitHub 上面有一个项目叫做 ParticlesJS。
有兴趣的可以自己研究一下。还有一些修改,比如底部 Footer 的修改,菜单栏的修改等等。由于只是一些符合自己品味的优化,这里就不做详细说明了。
关闭了原有的博客站点
最初的时候脑子被门挤了,注册了个 euryugasaki.com
的域名,则根本不可能有人记得住啊。但是这个长得恶心的域名还是被我上线了三年左右的时间,一些我留下过痕迹的地方,都有这个域名在。
而恰好,这个域名还是在国内的服务商里购买的。保不准那一天挂了,就完蛋了。所以后来就注册了几个好记的域名:changkun.us
, changkun.info
。并且,我决定以后一直用这几个域名而再不更换了。
强制使用 HTPPS 访问本站
从去年开始,我就一直想要将整个博客部署成 HTTPS 站点,当时也只是随便一搜发现证书还得花钱,对于我这种个人网站,是很不地道的。
直到最近,几经周折,总算找到一个比较满意的证书提供商,StartSSL。
制作证书非常方便,假设在 /etc/nginx/ssl/
目录下:
|
|
期间会询问国家名CN
、省份、城市、组织名、Common Name(域名)、邮箱,如实填好。最后的 challenge password 和 optional company name 不填。然后把生成的 csr 文件中的内容提供给这个网站,网站就会提供一个 .crt
的文件,只需将这个文件放到同一目录,然后将 server.key 中的密码给去除:
|
|
再到 Nginx 中配置好证书就能获得 HTTPS 的访问了:
|
|
绿色的小锁☺️。
不过一旦启用了 HTTPS,就会将原本站点的 HTTP 访问停止,这时候,可以配置一个转发:
|
|
从 GitHub 迁移到自己的服务器上
说实话,写博客的人总归是希望有人能够看自己的文章的。我当然也不例外。博客自从搬到 GitHub 上后,搜索引擎就再也没能搜到我的新站点了(当然,还有一个原因就是 Github Pages 的服务绑定自己的域名就没办法使用 HTPPS 了)。
究其原因就在于 GitHub 屏蔽掉了诸如百度等搜索引擎的爬虫,使得他们无法得知我的新站点了。终于还是搬出来好了。也就有了现在的服务。
搬迁出来并不是随便这么一般,由于 Hexo 会通过 Git 部署,所以还需要让服务器成为一个 Git 服务器,但这还不够,因为当 站点文件部署到了服务器后,还需要自动将其同步到公开访问的 Nginx 目录下,所以还需要用 git hooks来实现自动化部署。
第一步:安装 Git
|
|
第二步:创建 git 用户,专门管理 git 服务
|
|
第三步:登录到 git 用户,配置 pub key,避免hexo d
时的密码输入
|
|
第四步:初始化 Git 仓库,假设放在 /home/repo/blog.git
|
|
第五步:配置 git hooks
|
|
第六步:更改目录权限
|
|
第七步:禁用 git 用户登录,修改 /etc/passwd
中的 git
相关
|
|
改为
|
|
接下来就可以在 _config.yml
中的 deploy 中更改 repo 的地址了:
|
|