写在前面:这篇笔记怎么来的
过去几天,我用 AI 助手完整地维护了一台真实的生产服务器:两个网站(个人主页 + WordPress 博客)的日常巡检、安全加固、备份体系,还部署了 Docker 应用和签到服务。这篇笔记把整个过程沉淀下来——每一步都是实测踩过坑的。
一、AI 建站能帮你做什么
先管理预期:AI 不能替你「点按钮」,但能替你「动脑子 + 写代码」。实际场景里它擅长:
- 读文档:几十页部署文档几秒钟总结出关键步骤;
- 写配置:nginx、防火墙、备份脚本、cron 定时任务;
- 排错:从日志里定位根因(它最擅长的事情之一);
- 执行命令:给它 SSH 权限,一条指令完成整个部署流程。
不擅长:涉及手机验证码、账号登录、支付、实名认证的事——这些只能你自己来。
二、环境准备
- 服务器:国内节点 1核2G 起步(跑博客够用,跑 Docker 全家桶偏紧,建议 2核4G);
- 域名:国内服务器必须备案;子域名按需加 A 记录;
- 面板:宝塔面板(一键安装脚本,装完记好安全入口和端口);
- 给 AI 的权限:SSH 密钥(比面板 API 更全能),API 密钥建议一并给。
三、宝塔面板 + WordPress 标准流程
- 装面板 → 改默认端口 → 开启安全入口 → 设置 IP 访问限制;
- 软件商店装 nginx / MySQL / PHP 8.x;
- 添加站点 → 一键部署 WordPress → 配置伪静态;
- SSL:Let's Encrypt 免费证书一键申请,确认自动续签任务存在;
- 安全三件套:MySQL 绑定 127.0.0.1、SSH 配 fail2ban、禁用 xmlrpc.php。
四、安全加固清单(实测)
| 检查项 | 风险 | 处理 |
|---|---|---|
| MySQL 监听 0.0.0.0:3306 | 数据库裸奔公网 | my.cnf 加 bind-address=127.0.0.1 |
| SSH 密码登录 + 无防护 | 天天被爆破(实测一天几十次) | 启动 fail2ban(sshd jail,5 次失败封 24h) |
| TLS 1.0/1.1 开启 | 过时协议 | nginx 只留 TLSv1.2/1.3 |
| 缺安全响应头 | 点击劫持/MIME 嗅探 | 加 HSTS、X-Content-Type-Options、X-Frame-Options、Referrer-Policy |
| 数据库端口对公网 | 可被爆破 | 防火墙仅本机 + 外部验证确认关闭 |
五、自动化运维
每日备份(shell + cron)
# 每天 02:30 执行,保留 7 天
#!/bin/bash
mysqldump -u$DB_USER -p$DB_PW --single-transaction --opt
--databases $DB_NAME | gzip > /www/backup/auto/db_$DATE.sql.gz
tar czf /www/backup/auto/site_$DATE.tar.gz -C /www/wwwroot blog.aexing.top
find /www/backup/auto -name 'db_*.sql.gz' -mtime +7 -delete
SSL 自动续签
宝塔面板默认有每天执行一次的续签任务(到期前 30 天自动续),装完证书检查一次 cron 即可。
六、Docker 应用部署(国内服务器必看)
- 镜像加速:Docker Hub 直连超时是常态,先配置 daemon.json 镜像加速(实测可用源:1panel、dockerproxy);
- 端口隔离:容器端口只映射 127.0.0.1,公网访问走 nginx 反代 + SSL;
- 持久化:配置和数据挂载到宿主机目录,容器删了数据还在;
- 资源预留:小内存机器部署全家桶前先评估(Postgres + 后端 + 前端 ≈ 1G 内存)。
七、踩坑记录(全是真金白银换来的)
- 密码里的特殊字符:生成的随机密码带
/字符,导致 postgres 连接串解析失败——生成 URL 安全的密码(openssl rand -base64 32 | tr '+/' '-_'); - 服务器区域设置:zh_CN 环境下 grep 的
[!-~]范围表达式解析失败,部署脚本校验永远报错——用LC_ALL=C执行; - CDN/缓存吞脚本:LiteSpeed Guest Mode 会把内联脚本抽走合并,注释和代码被拼成一行导致语法错误——注入的脚本写单行、无注释、加
data-no-optimize="1"; - 面板 IP 限制:宝塔对非白名单 IP 一律返回 404,排查时别怀疑入口错了——加白名单或改用 SSH;
- 第三方 API 会失效:主题音乐播放器用的网易云接口和重写规则过时——直接抓包验证接口,自建本地播放器最稳。
八、AI 协作心得
- 给上下文:把报错原文、日志、配置文件整段贴给 AI,别只描述「不行了」;
- 让它先查再改:生产环境改动前要求它先读现状、先备份;
- 验证文化:任何「修好了」都要有证据(日志、接口返回、健康检查);
- 关键决策留给自己:密码、支付、删除数据、对外发布,AI 只做执行和建议。
本文是真实生产环境的实操记录,环境为宝塔面板 + nginx + MySQL + WordPress + Docker,时间为 2026 年 10 月。工具和版本会迭代,思路通用。
相关阅读:建站相关的更多实操记录,都在 建站运维分类。
Comments NOTHING