home.jinkxy.com 架构说明

home.jinkxy.com 是一个基于 WordPress 构建的个人站点,主要用于内容发布。与主站不同,此站点采用了成熟的 PHP 开源技术栈。

核心技术栈

内容管理系统(CMS):WordPress
主题(Theme):Sakurairo(基于 Git 独立管理)
运行时:PHP 8.x + PHP-FPM
数据库:MariaDB 10.5+
Web 服务器:Nginx(反向代理与静态资源处理)
基础设施:AWS EC2(Amazon Linux 2023)+ Cloudflare(DNS 与 SSL)

运行架构

请求链路:

浏览器
→ Cloudflare(HTTPS 终结 / CDN)
→ Nginx(:443)
→ PHP-FPM(Unix Socket)
→ WordPress 核心
→ MariaDB(数据持久化)

关键目录结构

站点根目录:/var/www/home.jinkxy.com
公共访问目录:/var/www/home.jinkxy.com/public(WordPress 核心文件)
主题源码:/var/www/home.jinkxy.com/theme-source(Sakurairo 的 Git 仓库)
凭据文件:/etc/home.jinkxy.com.wordpress.env(存储数据库密码与环境配置)

运维管理

自动化引导(bootstrap.sh)

项目包含一个强大的引导脚本,负责以下工作:

  1. 安装 DNF 依赖包,例如 PHP、MariaDB、Nginx 等。
  2. 初始化 MariaDB 数据库与独立用户。
  3. 下载并部署 WordPress 最新版。
  4. 克隆 Sakurairo 主题源码,并通过软链接(ln -s)映射到 WordPress 的 themes 目录。
  5. 生成 wp-config.php 和 Nginx 基础配置。

持续更新机制

站点采用“代码与数据分离”的思路,主题通过 Git 维护。

更新脚本:/usr/local/bin/home-site-update

更新流程如下:

本地执行 deploy-home.sh 远程触发更新。
服务器脚本在 theme-source 目录执行 git pull。
脚本自动修正权限(chown / chmod),确保 Web Server 可读,同时 ec2-user 拥有 Git 操作权限。
重载 php-fpm,以清理可能存在的 Opcache。

监控与日志

PHP 运行日志:journalctl -u php-fpm
数据库状态:journalctl -u mariadb
访问日志:/var/log/nginx/access.log(及错误日志)
便捷查询:可通过本地 logs-home.sh 快速查看远程服务的混合日志流。

安全与防护

  1. 隐私策略:敏感凭据存储在 /etc/ 下的 600 权限文件中,不随代码仓库下发。
  2. 访问控制:Nginx 配置中拒绝了对 .git 等隐藏目录的访问。
  3. HTTPS:强制跳转 HTTPS,并在 Cloudflare 侧开启 Full (strict) 模式。
此作者没有提供个人介绍。
最后更新于 2026-04-23