宝塔本身只是个“壳”,它没接管你的网站运行。你的站是靠 Nginx/Apache、PHP-FPM、MySQL、Redis 这些独立服务在跑,宝塔只是在上面套了个图形界面帮你改配置、发命令。所以只要卸载时别选“删除运行环境”,网站照样能访问,MySQL 数据也都在,只是从此改配置只能自己 ssh 进去手撸。
但这几件事必须提前做,不然容易翻车:
1. 先备份,别嫌麻烦
- 网站目录:
/www/wwwroot - 数据库:
mysqldump导一遍,或者直接把/www/server/data打包(MySQL 5.7/8 常见路径) - 配置:
/www/server/panel/vhost/nginx/(站点配置)、/www/server/panel/vhost/nginx/rewrite/、SSL 证书在vhost/cert/、PHP 配置在/www/server/php/xx/etc/ - 顺手
crontab -l > cron.bak、iptables-save或记下防火墙放行的端口
有一点要特别注意:面板的数据库密码、API 密钥是明文存在 /www/server/panel/config/config.json 和 data/default.db 里的,卸载前先记下 MySQL root 密码,不然以后进不去库只能跳过授权表硬改。
2. 卸载时看清选项
官方的 bt-uninstall.sh 或者 bt 命令菜单里,一般会问你“是否同时删除运行环境/所有数据”。一定要选只卸面板那一项,选错就真把 Nginx、MySQL、网站目录一锅端了。早期版本脚本菜单顺序不一样,别看编号凭感觉点,把提示读完。
3. 卸载后挨个查残留,这才是安全风险点
- 面板进程和端口:
ps aux | grep -i bt、netstat -lntp | grep 8888。8888 端口没关是最大隐患,公网扫到面板残留页面很容易被盯上 - 计划任务:宝塔的任务写在
/www/server/cron/下,同时往 root 的 crontab 里塞了带/www/server/cron/xxx的条目。面板删了这些条目还在,轻则报错刷日志,重则继续执行你早忘了的脚本。crontab -l一条条看,把宝塔相关的清掉 - 启动项:
ls /etc/init.d/ | grep bt、systemctl list-unit-files | grep bt,有就 disable 掉 - 面板目录残留:
/www/server/panel整个删干净,里面还有日志和旧配置 - 防火墙/安全组:把 8888、888、以及宝塔 FTP 的 39000-40000 被动端口段关掉,只留 80/443/你的 SSH 端口
另外顺带提一句,宝塔是不创建系统用户的,你担心的“残留用户”基本是 nginx、www、mysql 这些服务自带的,别乱删,删了网站就跑不起来了。真正该处理的是端口和计划任务。
4. 说句实在话 面板“漏洞多”这个印象,八成是因为 8888 端口直接暴露在公网 + 弱口令被爆破。如果你的诉求只是图个安全,不一定要卸载——把面板改成只监听 127.0.0.1,通过 SSH 隧道访问,或者安全组里只放行你自己的 IP,效果立竿见影,还能留着面板用。真打算彻底不用了,再按上面流程卸,卸完记得把 3306、6379 这些也别对 0.0.0.0 开放,Redis 一定设密码,装个 fail2ban,异地备份跑起来。裸奔的服务器比带面板的服务器危险多了。