WordPress 迁移实战:从 NAS 到 VPS (Rocky Linux + Nginx + Cloudflare)

继上一篇分享解决 WordPress Docker 容器在我 NAS 上突然 “Unhealthy” 的经历后,今天,我就将上次的 WordPress 站点从我的群晖 NAS 迁移到搬瓦工(Bandwagon Host)的 Rocky Linux VPS,并配置 Nginx 反向代理及 Cloudflare CDN 的完整过程记录下来,希望能给大家提供一份详尽的参考。AI 助手依然是完成这次工程的得力伙伴。 迁移目标 阶段一: 在 NAS 上准备迁移数据 迁移前,务必对现有 WordPress 站点进行完整备份。 1. 备份 WordPress 文件 包含所有核心文件、wp-content 目录及 wp-config.php 2. 备份 WordPress 数据库 阶段二: 在搬瓦工 VPS (Rocky Linux) 上准备新家 1. 清理 VPS(如果非全新) 2. 安装/确认 Docker & Docker … Read more

一个技术小白在 AI 协助下“治病之旅”

大家好!相信很多像我一样喜欢在 NAS 上折腾 Docker 的朋友,可能都遇到过安装的服务突然“罢工”的情形。作为一个“技术小白”,面对一堆看不懂的日志和红色的错误提示,会懵圈无助。今天我想和大家分享一次,我在 AI 一步步指导下,如何解决 WordPress Docker 容器”Unhealthy” 状态的完整过程。希望我的这次经历能给遇到类似问题的朋友们提供一些参考和信心。 一、问题的突现:好好的博客怎么就“挂”了 我的 WordPress 博客一直通过 Docker Compose 部署在 NAS 上,包含 WordPress、MariaDB、phpMyAdmin 和 Redis 这些服务。之前一直稳定运行,直到前几天,我发现 WordPress 容器的状态在 Portainer 里变成了红色的 “Unhealthy”,博客网页无法访问,管理员后台也登录异常。 健康检查命令 curl -f http://localhost:80/ 失败,意味着在容器内部访问 WordPress 自身的 Web 服务时返回了错误。 二、初步排查:我复制黏贴 AI 排查原因 我唯一熟悉的命令行操作,就是通过 SSH 登录我的 NAS。用命令行和 docker 容器交互得到的反馈,能够让 AI 精准定位问题的根源。 AI 就像一位经验丰富的医生,分析症状并开出“检查单”,我则负责去“化验科”(我的 SSH 终端)执行这些检查并将“化验报告”(命令输出)拿给 AI“医生”解读。 一个早期的小插曲是,当我尝试执行 AI 建议的、直接查看容器内 Apache 错误日志的命令(docker exec WordPress tail /var/log/apache2/error.log)时,命令会卡住。我把这个现象反馈给 AI,AI 推断可能是日志配置问题,并建议我执行: 结果发现,error.log 和 access.log 都被符号链接到了 /dev/stderr 和 /dev/stdout。这意味着所有日志理论上都应该通过 docker logs WordPress 输出。这个发现帮助我们排除了一个错误的排查方向。然而,尽管日志配置看起来能将所有信息输出,关键的 PHP 致命错误信息却如同石沉大海般,迟迟没有出现。 三、深入调试:与 AI 携手“魔改” wp-config.php 既然标准日志没有足够信息,AI 建议我在 wp-config.php 中增强调试能力。具体操作如下: 结果证明 wp-config.php 成功加载且可写。 AI 进一步引导我审查完整文件,发现末尾多余 } 及重复 require_once wp-settings.php;,导致 Parse Error 直接中断脚本。修复该语法错误后,病因却依然不明朗。 四、柳暗花明:我的一次建议,让 AI … Read more

群晖Synology 上部署 Wallabag + Cloudflare Zero Trust 全攻略

记录一次 500→403踩坑与排坑全过程,顺便把可复制的命令都整理好了,直接粘贴即可跑通。 目录 1 背景与现象 阶段 症状 解决思路 部署初期 访问 500 容器日志查看 + PHP/FPM 权限修复 上 Cloudflare Tunnel Web 能浏览,但 iOS 登录失败 WAF/Managed Rules 拦截 POST /oauth/v2/token 2 群辉新建相关文件夹 3 Portainer 部署 Wallabag <strong>docker‑compose.yaml</strong> 需要自行替换的字段 4 网页端外网访问通过 Cloudflare Tunnel *Cloudflare Tunnel 是 Cloudflare 提供的永久免费通道,只需在本地运行一个小代理,就能无需公网即可安全地将内网服务暴露到公网 在 Zero Trust 控制台的 网络 → Tunnels → Public Hostnames(公共主机名)里,点击 “Add a public hostname” 后: 5 创建 Cloudflare 安全规则 … Read more

群晖Portainer × ChatGPT——小白一键开容器,容器一键全搞定

引言 以下安装方式来源于mariushosting在群晖任务计划器中快速部署 Portainer 的思路 https://mariushosting.com/synology-30-second-portainer-install-using-task-scheduler-docker 安装 Portainer——群晖 Nas 准备工作 步骤 1:安装 Container Manager 步骤2:在共享文件夹中创建docker目录并编辑权限 步骤 3:在 File Station 中创建文件夹 portainer 步骤 4:通过任务计划器部署 Portainer   步骤 5:授权并执行 步骤 6:部署完成后执行访问与初始化 以下是 ChatGPT提示词 Docker 部署标准化流程 一、概述 “Docker 部署标准化流程”提供一套通用、可复制、易维护的流程模板,适用于基于 Docker Compose 的各类服务(如 Web 应用、数据库、缓存、队列等)。 二、标准化四步流程 1. 需求收集与方案评审 2. 目录结构与 Compose 模板生成 3. 宿主机目录创建与权限校验 4. 部署与验证 三、示例 MySQL Redis 四、最佳实践