重启「樽前小筑」
在互联网上写东西已经有二十多年了,开始是在论坛,然后QQ空间到网易博客,最后就是大学里自己注册域名买服务器,用 WordPress 自建独立博客。
但那也是在十几年前了,自2013年毕业以后,这个博客就基本停止更新,也疏于维护了。现在人到中年,重新有了记录一些东西的冲动,恰好也有了一点时间和精力——那就把这个博客重新运行起来吧。
考察了目前的常见的博客程序,从 WordPress 换到了 Halo. 按照中文博客圈的惯例——也是为了后续搭建的方便——在此记录一下搭建的一些细节。
这次搭建选择把博客程序放在二级域名 blog.yefoenix.ws 下,主页 yefoenix.ws 则运行面板程序 Glance. 程序安装在一台运行在家庭局域网 Win10 服务器。由于遇到了莫名的Windows 下 Docker 服务不稳定的问题,我选择使用 Jar 包直接运行。
配置文件
配置文件 application.yaml
放在 Halo.jar 所在的文件夹内。
主要配置项:
- 设置服务端口
server:
port: 8090
- 配置数据库,使用本地 PostgreSQL:
spring:
r2dbc:
url: r2dbc:pool:postgresql://localhost:5432/halo
username: postgres
password: xxxxxxxx
sql:
init:
mode: always
platform: postgresql
- 启用页面缓存,配置工作目录和外部访问地址:
halo:
caches:
page:
disabled: true
work-dir: X:\xxx\Halo
external-url: https://blog.yefoenix.ws
作为后台服务自动运行
使用 NSSM 将 Halo 转化为服务,以保持后台自动运行。
- 管理员权限下运行
nssm install halo
,进行配置:
- Path: Java 程序路径;
- Startup Directory:halo.jar所在文件夹路径;
- arguments -jar "halo.jar的完整路径",注意
Jar文件路径需要引号框起来
- 然后
nssm start halo
就可以运行起来了。
公网访问
使用 Cloudflare Tunnel 的 Public Hostnames 一键绑定域名实现公网访问,优点懂的都懂,感谢伟大的 Cloudflare.
当然也有缺点,连接不太稳定,经常 Error 1033 无法访问。
插件
已安装插件:
- 搜索组件 提供基本的站内搜索;
- Media Optimizer将所有图片转化为 webp 格式并提供代理;
- 站点推送插件 将新发表的内容推送至谷歌等搜索引擎;
- Webhook 发布内容后向指定地址发送Webhook;
- Vditor 编辑器 Markdown 编辑器;
- RSS 提供 Rss Feed 输出;
- 对象存储(Amazon S3 协议) 链接 Cloudflare R2 对象存储;*
- pangu 自动在中英文之间添加空格;
- 应用市场
注意
* Cloudflare R2 对象存储配置时,region 项应填入全小写的"auto
", 否则报错。
主题
目前博客使用的主题是 AirCloud,简洁优雅,十分符合我当下的审美。
主要进行了两处修改:
.\templates\_partial\head.html
增加一行 Meta,将文章封面设置为 OpenGraph 的 Image. **
<meta property="og:image" th:content="${post.spec.cover}">
.\templates\_partial\nav.html
「主页」链接改为顶级域名https://yefoenix.ws
, 原主页改为「最近」
<li>
<a href="https://yefoenix.ws">
<i class="iconfont icon-shouye1"></i>
<span>主页</span>
</a>
</li>
<li>
<a href="/">
<i class="iconfont icon-guidang1"></i>
<span>最近</span>
</a>
</li>
说明
* * Halo 的官方设置项中提供了向 Head 标签内注入代码的功能,可惜目前尚不支持Thymeleaf ,只能直接在插件内修改了。
以上是一个简单的 Halo 博客搭建笔记,为了以后需要重新搭建时方便查考。后续会有两篇文章,分别记录主页yefoenix.ws所运行的 Glance 的搭建,以及博客写作和图片处理用的工具与服务。