AI BOARD
人工智能板块
这里记录AI工具、政策变化、产业动向和公共判断。
凌晨两点,网站突然宕机了
凌晨两点,网站突然宕机了
没有找服务器工程师,而是让 AI 代理来处理
我在浏览器地址栏输入 kimkj.com。网站没有打开。刷新、换网络、再试,结果都一样。几个月积累下来的主页,突然停止响应。
kimkj.com 并不是一个简单的个人名片页。它包含金京镇律师的 AI 书斋、人工智能板块、演讲资料和多语言页面。从技术上看,这是运行在 AWS Lightsail 上的 WordPress 网站,公告板使用 KBoard,并分别运营韩文、英文、中文、日文页面。
这一次,我把任务交给了 OpenAI Codex。指令很简单:“请确认 kimkj.com 是否正常工作,如果有问题就解决。”
Codex 首先查询 DNS。kimkj.com 指向静态 IP 43.202.123.207。这是 AWS Lightsail 的静态 IP。Lightsail 的好处是,可以把静态 IP 从一个实例解绑,再绑定到另一个实例,而不需要修改 DNS。
最初在本地环境检查时,HTTP 80 端口和 HTTPS 443 端口都超时,管理访问也没有正常连接。这看起来不像是某个 WordPress 页面坏了,而更像是服务器或网络路径层面的问题。
AWS Lightsail 控制台中,首尔区域有两个 WordPress 实例。一个是包含最新内容的 WordPress-Lightsail-20260508,另一个是较旧的备用实例 WordPress-2。
当时最重要的是先让网站恢复。Codex 将静态 IP 43.202.123.207 从疑似有问题的实例解绑,临时绑定到能够正常响应的 WordPress-2。这样不需要修改 DNS,kimkj.com 就可以指向另一台服务器。
网站因此重新打开了。但问题是,WordPress-2 不是最新内容所在的服务器。用户说明最新版本在 WordPress-Lightsail-20260508 上,于是 Codex 重新检查原来的实例。
这个过程中也修正了一个错误。动态 IP 曾被误读为 3.56.59.80,但实际 IP 是 3.36.59.80。使用正确 IP 后,最新实例能够响应,Apache、MariaDB 和 SSH 也被确认处于运行状态。
随后,静态 IP 43.202.123.207 被重新绑定回 WordPress-Lightsail-20260508。最终,kimkj.com 回到包含最新内容的服务器,并确认返回 HTTP 200 OK。
Codex 没有在网站打开后就结束。它对两个 WordPress 实例都做了备份,包括 WordPress 文件和数据库。保存到本地电脑的加密备份如下:
• WordPress-Lightsail-20260508 备份:约 481MB
• WordPress-2 备份:约 465MB
• 保存位置:用户本地电脑的 Codex 工作目录
• 验证:完成 SHA256 校验和解密测试
备份不是普通压缩包,而是加密的 tar.gz.enc 文件。压缩包内包含 WordPress 文件、数据库导出、README 和备份过程中的警告日志。临时放在服务器公开路径中的备份文件,也在验证后被删除。
核心风险是 WordPress 上传过程中的内存压力。当前 Lightsail 实例是 2GB 内存,但没有 swap。内存瞬间不足时,Linux 没有缓冲空间可以撑住峰值。
Apache 采用 prefork 模式。这个模式和 PHP 搭配时比较稳定,但如果同时启动太多 worker 进程,内存会很快被消耗。连续上传多个大型书籍文件时,PHP 处理、WordPress 插件处理、附件元数据生成和数据库写入会叠加在一起。
所以,“一天上传一本、隔一段时间再上传”确实可以降低风险。这样服务器有时间释放内存并完成后台处理。不过这只是运营习惯上的缓解措施,不是完整的架构性解决方案。
首先采取的是不增加月费的稳定化措施。实际调整如下:
• 新增 2GB swap 文件,作为内存不足时的缓冲区
• 调整 Apache prefork,将 MaxRequestWorkers 设为 10
• 设置 MaxConnectionsPerChild 500,让 worker 定期回收
• 调整 PHP:memory_limit 384M、upload_max_filesize 256M、post_max_size 300M、max_execution_time 300 秒
• 用 apache2ctl configtest 确认配置 Syntax OK,并确认 Apache、MariaDB、SSH 处于活动状态
“把同时连接数限制为 10”这个说法更准确地说,是把 Apache 同时处理的 worker 数限制为 10,并不是等于只能有 10 个访问者。对于小型 Lightsail 服务器来说,这是防止内存耗尽的重要保护线。
删除 WordPress-2 前,先创建了 Lightsail 快照。随后删除不用的实例。现在网站只运行在 WordPress-Lightsail-20260508 这一台实例上。按实例费用计算,月服务器费用大致从 24 美元降到 12 美元。
不过,快照会产生少量独立的存储费用。因此准确地说,当前结构是:只保留一台运行服务器以降低月实例费用,同时为了安全保留快照并承担少量额外存储费。
现在网站稳定性已经提高,但如果访问量、自动发布和大型文件上传继续增加,就需要更长期的方案。
• 短期:大型书籍文件一次只上传一本,中间留出时间。
• 中期:将 Lightsail 实例升级到 4GB 或更高。
• 中期:定期快照与本地加密备份并行。
• 长期:把大型文件移到 S3 等对象存储。
• 长期:分离 WordPress、数据库和文件存储,缩小故障影响范围。
成本最低的做法,是继续使用现有 2GB 服务器并保守运营。最稳妥的做法,是升级实例并分离存储,但月费用会增加。最终选择取决于对稳定性的要求和可接受的成本。
这次 Codex 做的不只是提出建议。它确认 DNS,测试端口,通过 AWS Lightsail 控制台移动静态 IP,经 SSH 确认服务器服务状态,备份 WordPress 文件和数据库,调整 Apache 与 PHP 设置,创建快照,并在得到确认后删除不用的实例。
AI 也会出错。这次也发生过一次 IP 数字误读。关键在于之后如何处理:重新确认、用实际服务器响应验证,并在删除等危险操作前取得用户确认。网站运营需要的不是完美的话术,而是可审计、可恢复的流程。
个人网站运营正在改变。域名、WordPress、备份、服务器设置、成本检查,都可以通过自然语言交给 AI 代理一起处理。kimkj.com 的恢复说明,这已经不是理论,而是在真实运营现场可以完成的工作。