将博客从Hexo搬迁到Halo

2020-12-08   1,610 次阅读


请注意,本文编写于  135  天前,最后编辑于  70  天前,内容可能已经不具有时效性,请谨慎参考。

Hexo博客

Hexo博客是我在B站看程序羊(codesheep)大佬的视频慢慢搭建起来的,可以说是我入门博客的启蒙导师!通过在github上静态page来搭建自己的第一个博客。

然后我就入了博客的坑,不断去寻找主题,观看Sanarous大佬的主题美化教程进行个性化。慢慢地就形成了我第一版博客,目前可以通过coding备份(7nkky5.coding-pages.com)进行查看。

image-20201208230744083

为什么换掉Hexo

今年年初的时候就在关注Sanarous大佬的博客,发现他放弃了Hexo修改为其他博客。主要原因是因为静态博客发布修改麻烦,不能做到随时随地修改。

而由于将托管到GitHub上访问速度很慢,我又将Hexo托管到coding上,不过经常不能访问以及访问速度慢也就渐渐产生想要更换的念头。正好双11腾讯云做活动就买了一个最便宜的服务器用来搭建博客。

为什么选择Halo

1.其实还是因为看到了Sanarous的博客选择了Halo,感觉很好看就跟着大佬(~哈哈哈哈哈~)

2.Halo作为动态博客可以很方便的进行修改和发布博客,还可以在线编写,使用起来十分方便。

3.Halo博客有自己的主题仓库,可以很方便的进行切换主题。还有自己的社区,遇到问题可以很方便的解决。

搭建过程

  • 接着就跟着一步一步搭建起来Halo博客啦,搭建halo还是比较简单的,由于主程序只是一个jar包,运行起来也很方便。不过修改主题才是一个大坑!由于看不懂 FreeMarker和CSS,只能边学边改,将几个主题融合了一下,足足忙了几天才形成现在这个主题。

    博客搭建教程:https://halo.run/archives/install-quick-start.html

    主题推荐:https://github.com/LIlGG/halo-theme-sakura

image-20201208232613171

  • 本来是想使用MySQL作为网站的数据库,但是通过看Halo是说明来看,要想使用备份功能就需要默认的H2数据库,后来寻思着就是个人用来做博客,省事就将数据库换回了H2。
  • 在这期间还第一次通过GitHub参加了开源项目的贡献,也算是又学到了一个新的技能。

域名备案和Nginx反向代理

备案还是比较简单的,跟着主机商的步骤一步一步下去就行。

接着等就行啦~我的备案等了七个工作日就下来了,还是可以接受的。

Nginx设置ssl

编辑 Nginx 根目录下的 conf/nginx.conf 文件。修改内容如下

server {
    #SSL 访问端口号为 443
    listen 443 ssl; 
 #填写绑定证书的域名
    server_name cloud.tencent.com; 
 #证书文件名称
    ssl_certificate 1_cloud.tencent.com_bundle.crt; 
 #私钥文件名称
    ssl_certificate_key 2_cloud.tencent.com.key; 
    ssl_session_timeout 5m;
 #请按照以下协议配置
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 
 #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; 
    ssl_prefer_server_ciphers on;
    location / {
    #网站主页路径。此路径仅供参考,具体请您按照实际目录操作。
        root html; 
        index  index.html index.htm;
    }
}

在 Nginx 根目录下,通过执行以下命令nginx -t验证配置文件问题。

接着执行nginx -s reload或者重启 Nginx,即可使用 https://cloud.tencent.com 进行访问。

HTTP 自动跳转 HTTPS 的安全配置(可选)

在最下面再加一个server即可。

server {
listen 443 ssl;
#填写绑定证书的域名
server_name cloud.tencent.com; 
#证书文件名称
ssl_certificate  1_cloud.tencent.com_bundle.crt; 
#私钥文件名称
ssl_certificate_key 2_cloud.tencent.com.key; 
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location / {
   #网站主页路径。此路径仅供参考,具体请您按照实际目录操作。  
   root html;
  index index.html index.htm;
}
}
server {
listen 80;
#填写绑定证书的域名
server_name cloud.tencent.com; 
#把http的域名请求转成https
return 301 https://$host$request_uri; 
}

过执行以下命令nginx -t验证配置文件问题。

接着执行nginx -s reload或者重启 Nginx.

其他服务器可以通过https://cloud.tencent.com/document/product/400/4143查看如何配置。

有待后序更新...

本文由 hongCYu 创作,如果您觉得本文不错,请随意赞赏
采用 知识共享署名4.0 国际许可协议进行许可
原文链接:https://hongcyu.cn/posts/hexo-to-halo.html
最后更新于:2021-02-11 13:35:09

Coffee