使用Halo博客系统创建个人博客

0 前言-为何使用Halo博客系统

现在这个博客使用的博客系统就是Halo博客系统。之前我曾尝试过WordpressHexo,但使用大多都不满意,Wordpress太花哨,占用资源大并且写文章体验真的不好,Hexo虽然简洁但它功能不够丰富。Halo是有一次在知乎游逛的时候我看见的,觉得不错,就拿来使用了,使用一段时间后觉得太好用了。

接下来废话会有点多,如果不想看可以直接跳到安装部分。

Halo博客系统到底好在哪里?我将从官网的说明和个人的使用体验这两点来说说。希望这可以是你选择Halo博客系统的理由。

  • 部署方便
    • 采用了应用与用户配置分离的模式。你仅仅只需要一条命令即可运行成功,同时也支持Docker/Docker Compose部署。
    • 我在部署的时候的确是没怎么大费周折。
  • 较好性能
    • 实测在开发环境下(2g RAM/i7 6500u),使用Apache Benchmark测试 100 个并发10000次请求,吞吐量(Requests per second)在147.65/sec。
    • 这个没试过😓。
  • 多款主题
    • 完善的主题系统,支持在线安装和更新。开发主题也十分方便,欢迎大家参与主题的开发。
    • 主题还是非常多的,而且可以自己开发主题或者在原有主题上面进行修改,我觉得这非常好。(我在这上面花了挺多时间)
  • 高拓展性
    • 提供了完善的Content APIAdmin API,你可以用于开发SPA应用微信小程序桌面端管理软件APP 端管理软件,各种系统的插件等。
    • 这个不清楚,但是后续版本有插件系统的话,这个博客系统就真的完美了。
  • 附件管理
    • 同时支持本地上传,阿里云 OSS/又拍云 OSS/七牛云 OSS/SM.MS 等云存储,你可以更方便的管理你文章中的附件。
    • 这个真的太方便了,使用就知道了。
  • 评论管理
    • 拥有独立的评论插件,使用 Vue 开发,只需在页面引入构建好的 JS 文件即可,完美地和主题相结合。目前已有两款评论组件,你可以非常方便的切换。
    • 这个也挺不错的。
  • 其他个人认为不错的地方
    • 支持Markdown文章导入:支持Hexo/Jekyll文章导入并解析元数据,从Hexo迁移过来很方便。
    • 方便的小页面:站点地图,方便交换友链的你的博客地址/avatar地址。

1 在部署之前

个人使用的云服务器是阿里云的学生机,这个学生机购买是不需要进行学生认证的,不过有年龄限制。我选择的学生机是轻量应用服务器,1核2G+1000GB月流量(这流量根本用不完好浪费😭)。不选择另外一种云服务器主要还是因为这个带宽有5M并且使用起来的确方便。部署博客有一个麻烦事就是需要备案,不过备案也有它的好处。不想备案可以选择国外的服务器,不需要备案。如果你挑选了在国内的服务器主机又对备案不是很懂,可以看看下面的内容。个人建议配置还是1核2G,用起来刚好。此外,部署博客需要对Linux系统有一定的了解。

2 部署

Halo博客系统的部署可以直接访问Halo安装文档。非常全面了,我觉得并不需要我搬到文章里面来凑字数。配置域名访问建议使用Caddy,方便不少。

3 备案

通过用域名来访问服务器,如果你创建博客的服务器主机在中国,那么你就需要备案,如果不是就不需要。备案一般是两个流程,一个是ICP备案,一个是网络公安备案

如果不进行ICP备案的话,你的服务器主机在解析域名后不久就会无法访问并提示你要进行ICP备案。如何备案?你的服务器主机提供商可能为你提供ICP备案服务(例如阿里云),直接按照其流程来操作就可以了,我的ICP备案所花时间大概在15天(可能是疫情的原因)。如果你的服务器主机提供商没有这样的服务,那你就得自己去操作了,所以建议在国内的主机还是用大服务商。备案成功后,你的网站就可以通过域名访问了。

接下来是网络公安备案,需要到全国互联网安装管理服务平台进行操作。在网络公安备案前请把你的ICP备案号先放置在博客页脚信息中,不然会备案失败。

Halo博客系统有些主题没有便捷的设置备案号的功能,需要自行在页脚添加信息。下面给出一个样版(注意要先把网络公安备案图标下载然后上传到附件中)。

<a href="http://www.beian.miit.gov.cn" target="_blank">ICP备案号</a>
<p>
    <img src="网络公安备案图标地址" style="display:inline"/>
    <a href="网络公安备案成功后给的网址" target="_blank"  style="color:red">网络公安备案号</a>
</p>

4 已发现的Halo博客系统问题

现在版本的Halo博客系统对于一些数学公式的显示会有错误。以后的版本应该会修复这个问题。

可行的暂时解决方法:对于行内公式$换成$`$。对于一般公式,写成如下,把代码块的语言设置为math。

$$
F(x)=\frac{a}{x}
$$

感谢浏览😝!

此文章可能会在后续更新,欢迎纠错。