插件卸载必须在面板内操作,不可直接删文件;需进「软件商店→已安装」点击卸载按钮,再清理残余定时任务、幽灵目录,最后重启面板服务并检查日志。

插件卸载必须在面板内操作,不能只删文件
宝塔的插件不是普通软件包,它和面板深度耦合:有数据库记录、定时任务、服务注册、前端路由入口。直接 rm -rf 插件目录会导致面板报错、菜单残留、甚至后台接口 500。你看到的「已安装」列表,是 /www/server/panel/data/plugin.json 和 MySQL 表 panel_plugin 共同维护的状态。
- 进面板 → 左侧「软件商店」→ 切到「已安装」标签页
- 找到目标插件(如「防火墙」「Memcached」「Supervisor」),点右侧「卸载」按钮
- 确认弹窗后等待进度条完成——此时它才会停服务、删配置、清数据库记录、移除定时任务
- 卸载后检查
crontab -l,手动删掉残余的含bt_或插件名的行(比如某些监控插件会偷偷加采集任务)
清理 /www/server/panel/plugin/ 下的“幽灵目录”
有些插件卸载失败或中断,会在 /www/server/panel/plugin/ 留下空壳目录(比如 memcached/ 但里面只有空 info.json),这些不会被面板识别,却可能干扰后续安装同名插件,或让 bt reload 报路径错误。
- 执行
ls -l /www/server/panel/plugin/,看哪些目录里几乎没文件(尤其缺少install.sh、uninstall.sh、index.html) - 对可疑目录,先备份再删:
mv memcached memcached.bak && rm -rf memcached.bak - 别碰
default和bt_safe这类系统级插件目录,即使没启用也不建议手动动
删完插件后,必须重启面板服务
卸载操作只是改了状态和配置,面板主进程(python /www/server/panel/pyenv/bin/uwsgi)仍缓存着旧插件的模块引用。不重启,前端菜单可能还显示灰色入口,API 接口返回 404 或 500,日志里反复出现 ImportError: No module named xxx。
- 执行
/etc/init.d/bt restart(推荐)或bt restart - 重启后立刻访问面板,打开「首页」右上角「检查更新」,确认无红色告警
- 顺手看一眼
tail -n 20 /www/server/panel/logs/error.log,确保没有插件相关 traceback
网站数据与插件无关,别误删 /www/wwwroot/
新手常把「插件」和「网站」混淆,以为卸载「PHPMyAdmin」或「WordPress」插件会删掉自己建的站点。其实完全无关:/www/wwwroot/ 是网站根目录,由用户自主管理;插件只是提供一个快捷入口或部署工具,删它不影响你的 HTML、数据库、SSL 证书。
-
/www/wwwroot/、/www/backup/、/www/server/data/这些目录,插件卸载脚本绝不会碰 - 唯一要小心的是「网站监控」类插件,它可能在
/www/server/panel/plugin/下建了日志分析子目录,删插件时未必清干净,需手动确认/www/server/panel/plugin/monitor_log/是否还存在
/www/server/panel/logs/ 占用几十 GB。卸载前,先用 du -sh /www/server/panel/logs/* 和 ps aux | grep python | grep -v grep 看看谁在狂吃资源。

















