【运维实战】ZaKI 服务器的自动化涅槃:基于 1Panel 的容器治理
## 背景与痛点
在传统的个人服务器运维中,Halo 等 Java 堆栈的应用虽然功能强大,但其对内存的贪婪(经常占用 1G+ RAM)和 R2DBC 异步驱动在不同 MySQL 版本间的兼容性问题,一直是 MJJ 们的噩梦。ZaKI 服务器经历了从 Halo 2.22 到 WordPress 的涅槃,本质上是对效率的重新定义。
## 核心配置逻辑
我们弃用了繁琐的手动配置,通过 1Panel API 和物理配置文件挂载实现了秒级部署。特别是在处理 MySQL 8.4 强制移除 `mysql_native_password` 插件的坑时,我们通过自定义 `.cnf` 补丁强行救回了兼容性。
### 核心配置文件示例:maoji.cnf
“`ini
[mysqld]
# 强行开启传统认证插件
mysql_native_password=ON
default_authentication_plugin=mysql_native_password
# 优化连接数
max_connections=500
“`
## 自动化发布脚本 (Python REST API)
我们不再进入 WP 后台手动发帖,而是通过以下脚本实现“命令行发帖”:
“`python
import requests
from requests.auth import HTTPBasicAuth
def post_to_wp(title, content):
url = “https://blog.cshaizhihao.com/wp-json/wp/v2/posts”
auth = HTTPBasicAuth(‘cshaizhihao’, ‘YOUR_APP_PASSWORD’)
data = {
‘title’: title,
‘content’: content,
‘status’: ‘publish’
}
return requests.post(url, json=data, auth=auth)
“`
这就是赛博时代的极客精神:High Tech, Low Life, High Efficiency.