先说结论:卸载宝塔面板(程序本身)不会删掉 /www/wwwroot 里的网站文件和 /www/server/data 里的数据库文件,这是很多人自己吓自己。真正会丢的是面板里那套“登记信息”——站点列表、数据库列表、计划任务、SSL 证书配置这些,都存面板自己的数据库里,面板一卸这些就没了,所以重装后面板看着是空的,但文件其实还在。
先搞清楚文件都在哪:
- 网站程序:
/www/wwwroot - MySQL 数据文件:
/www/server/data - 面板的站点/数据库/任务记录:
/www/server/panel/data/default.db - 各站点的 nginx 配置:
/www/server/panel/vhost
重装前先进 SSH 看一眼这几个目录在不在,心里有底。千万别手贱 rm -rf /www,也别重装系统,那才是真的一锅端。
最稳妥的顺序:
- 先备份,别省这一步。
tar打包/www/wwwroot,用mysqldump把每个库导成 sql(或者干脆把/www/server/data整个复制到别的盘),再把default.db单独拷一份出来。 - 装回和原来完全一样的 Nginx / MySQL / PHP 版本,MySQL 大版本务必对上,不然 data 目录直接不认。
- 重装面板后,站点列表是空的,面板不会自动认出原来的站,得手动挨个建站,根目录指回原来
/www/wwwroot里的文件夹。 - 数据库要么建重名库在面板里“同步”回来(同 MySQL 版本前提下),要么直接把你 dump 出来的 sql 导进去,别指望面板自动认领。
- 想连站点列表一起恢复,就把备份的
default.db覆盖回/www/server/panel/data/,前提是面板版本别差太多,版本乱了容易报错,不熟的话还不如手动重建。
但说实话,你这个情况根本没必要卸载。
登录不进去大概率只是面板服务挂了或者崩了,用 bt 命令进去选修复面板选项,或者跑一遍官方修复脚本覆盖安装就行。覆盖安装只替换面板程序文件,站点、数据库、配置全都不动,这才是你要的“只重装面板、不动环境”的办法。上来就卸载属于自己给自己加风险。
另外提醒一句:如果你确实已经卸载过了,先去 /www/wwwroot 和 /www/server/data 确认文件还在,只要这俩还在,数据就没丢,剩下的都是重新登记一遍的体力活。