跳到主要内容

宝塔面板实战:管理多个 WordPress 站点的 10 个技巧

宝塔面板实战:管理多个 WordPress 站点的 10 个技巧

宝塔(BT-Panel)是国内最流行的服务器管理面板。如果你像我一样一个人管理 5+ 个站点,又不想学一堆 Linux 命令,这篇教程会帮你把日常运维效率拉满。

安装

# CentOS

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec

Ubuntu/Debian

wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh ed8484bec

安装完会输出面板地址(一般是 http://your-ip:888),账号密码。

⚠️ 安全提示:第一件事改面板端口(8888 → 其它)+ 改默认账号密码 + 开启面板 SSL + 限制 IP 访问。

10 个实战技巧

1. 多 PHP 版本共存

同一台服务器可以同时跑 PHP 5.6 / 7.4 / 8.2,互不干扰。每个站点选不同 PHP 版本。

适用场景:

  • 老项目(ThinkPHP 5.0 / WordPress 4.x)必须 PHP 5.6
  • 新项目用 PHP 8.2

切换方式:站点设置 → PHP 版本。

2. 一键备份 + 远程同步

宝塔自带「计划任务」可以每天自动备份数据库和网站文件到 OSS / S3 / 远程服务器。

设置:计划任务 → 添加任务 → 备份数据库/网站 → 选择存储位置。

我的备份策略:

  • 数据库:每天凌晨 3 点,保留 7 天
  • 网站文件:每周日 4 点,保留 4 周
  • 远程同步:备份完自动 rsync 到 NAS

3. nginx vhost 直接编辑(绕过自动覆盖)

宝塔会自动管理 vhost,但有时候要手动改(比如我们的 Sage 11 加 location ^~ /app/themes/sage/public/build/)。

:在面板里改 nginx 配置 → 保存 → BT 会自动重新生成 vhost → 你的手动修改没了。

解法:直接 SSH 编辑 /www/server/panel/vhost/nginx/your-site.conf,BT 不会动。但要确保面板里不要点保存。

我用这个方法管理所有「特殊」站点。

4. 数据库跳过权限重置 root 密码

忘 root 密码?SSH:

# 停止 mysqld

/etc/init.d/mysqld stop

跳过权限启动(后台)

mysqld_safe --skip-grant-tables &

进入 MySQL(不需要密码)

mysql -uroot

重置密码

FLUSH PRIVILEGES;

ALTER USER 'root'@'localhost' IDENTIFIED BY 'NEW_PASSWORD';

EXIT

重启 mysqld

/etc/init.d/mysqld restart

坑 1:mysqld_safe 启动会写 ib_logfile 文件,必须 chown mysql:mysql /www/server/data/ib_logfile*,不然启动失败。

坑 2:BT 面板的 mysqld datadir 不在 /var/lib/mysql,而是在 /www/server/data

5. 编译 PHP 扩展

宝塔的 PHP 是源码编译版,扩展也是单独编译的。比如装 fileinfo:

cd /www/server/php/82/ext/fileinfo

/www/server/php/82/bin/phpize

./configure --with-php-config=/www/server/php/82/bin/php-config

make && make install

echo "extension=fileinfo.so" >> /www/server/php/82/etc/php.ini

/etc/init.d/php-fpm-82 reload

6. 反向代理内网服务

如果你有一台内网服务(比如 NAS 上的 API),可以用宝塔 nginx 做反向代理对外暴露:

location /api/ {

proxy_pass http://192.168.1.100:8080/;

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header X-Forwarded-Proto $scheme;

}

7. Let’s Encrypt 一键 SSL

宝塔站点设置 → SSL → Let’s Encrypt → 申请。

DV 证书免费、自动续期,足够个人/小团队用。

商业项目需要 OV/EV 证书的话,自己上传:

# 把 .crt + .key 文件传到 /www/server/panel/vhost/cert/yourdomain.com/

然后面板里选「其他证书」粘贴。

8. 监控 + 告警

宝塔的「监控」功能可以设置:

  • CPU / 内存 / 磁盘 / 带宽 阈值告警
  • 网站可用性监控(HTTP 200 才算正常)
  • 进程监控(mysqld / nginx / php-fpm 挂了自动拉起)

我设的几个关键告警:

  • 磁盘 > 80% → 邮件 + 钉钉
  • 5xx 错误 > 10 次/分钟 → 邮件
  • CPU 持续 > 90% 超过 5 分钟 → 钉钉

9. 防火墙白名单

宝塔自带「安全」面板,里面有简单的 iptables 规则。但我更推荐直接编辑 /etc/firewalld/ 或用 ufw:

# 只允许 SSH + HTTP + HTTPS

ufw default deny incoming

ufw default allow outgoing

ufw allow 22/tcp # SSH(改端口后用新端口)

ufw allow 80/tcp

ufw allow 443/tcp

ufw enable

如果 BT 面板要远程访问,单独开放一个 IP:

ufw allow from YOUR_OFFICE_IP to any port 8888

10. wp-cli 在 BT 环境

宝塔默认装了 wp-cli(位置 /usr/local/bin/wp)。但 BT 的 WordPress 站点路径通常在 /www/wwwroot/yourdomain.com/,跑 wp 前要 cd 进去:

cd /www/wwwroot/yourdomain.com/

wp post list

或者指定路径

wp post list --path=/www/wwwroot/yourdomain.com/

日常维护清单

| 周期 | 任务 |

|—|—|

| 每天 | 检查 BT 告警 |

| 每周 | 检查磁盘、备份完整性 |

| 每月 | BT 面板 + nginx + php + mysqld 升级 |

| 每季度 | 清理 6 个月前的访问/错误日志 |

| 每年 | SSL 证书审计、密码轮换、安全加固 |

BT 替代方案

如果你不想用 BT(有些场景下确实不好用,比如 K8s/Docker 环境):

  • aaPanel(BT 国际版):界面一样,免费
  • 1Panel:新一代,新设计
  • 手动 LNMP:彻底掌控,但要花时间学

总结

宝塔不是完美的(它的「自动覆盖」特性有时很烦),但对个人站长和小团队来说,是性价比最高的选择。

关键是:把 BT 当作「配置生成器」,重要服务(nginx / mysqld)直接 SSH 管。两者结合才能发挥最大威力。

下一篇会讲 nginx + Let’s Encrypt + 自动续期的完整配置。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注