以下是 完整卸载 Rainbond 的详细步骤指南,涵盖多种安装场景和常见问题解决方案:
一、核心原则
优先级 | 操作类型 | 适用场景 | 风险提示 |
---|---|---|---|
最高 | 官方工具卸载 | 能正常访问 rbd 命令的环境 |
最安全、最彻底的卸载方式 |
| **手动卸载** | 无法使用 `rbd` 命令/安装异常 | 需谨慎操作,易遗漏文件 || **重置配置** | 仅想清空数据而非完全卸载 | 保留程序但丢失历史数据 |
二、分步操作指南
推荐方式:通过 rbd
命令自动卸载(适用于完整安装)
# 切换至 root 用户(如有权限限制)
sudo -i# 执行全盘卸载(--all 表示清除所有组件)
rbd uninstall --all
效果说明:
- ✅ 停止所有 Rainbond 服务(ETCD/API/WebUI 等)
- ✅ 删除配置文件(
/etc/rainbond
)、数据目录(/var/lib/rainbond
) - ✅ 移除 systemd 服务单元(
rbd-node
,rbd-api
等) - ✅ 清理启动日志和临时文件
注意:若提示
rbd: command not found
,说明环境变量未加载,尝试source /etc/profile
后重试,或直接跳转至 B 部分。
B. 🛑 手动卸载(适用于异常安装/自定义路径)
1. 停止所有相关进程
# 查找 Rainbond 相关进程
ps aux | grep -E 'rainbond|rbd' | grep -v grep# 终止进程(替换 PID 为实际进程号)
kill -9 <PID>
2. 删除核心文件与目录
路径 | 说明 | 命令示例 |
---|---|---|
/opt/rainbond |
主程序目录 | sudo rm -rf /opt/rainbond |
/etc/rainbond |
配置文件 | sudo rm -rf /etc/rainbond |
/var/lib/rainbond |
数据存储 | sudo rm -rf /var/lib/rainbond |
/usr/local/bin/rbd |
命令行工具 | sudo rm /usr/local/bin/rbd |
/etc/systemd/system/ |
Systemd 服务文件 | sudo rm /etc/systemd/system/rbd*.service |
3. 刷新 Systemd 配置
# 重新加载 systemd 配置
sudo systemctl daemon-reload# 禁用并停止残留服务(若有)
sudo systemctl disable rbd-node || true
sudo systemctl stop rbd-node || true
C. 📦 容器化部署的特殊处理(Docker/Podman)
# 停止并删除所有 Rainbond 容器
docker ps -a | grep rainbond | awk '{print $1}' | xargs -r docker rm -f# 删除镜像标签(可选)
docker images | grep rainbond | awk '{print $1":"$2}' | xargs -r docker rmi
D. 🌐 多节点集群环境处理
若您搭建的是 Kubernetes/K3s 集群 或 分布式架构:
- 在所有工作节点上执行:
rbd uninstall --node $(hostname) # 替换为当前节点名
- 从控制台移除节点角色:登录 Rainbond Web 控制台 → 节点管理 → 删除对应节点。
🔍 三、验证卸载结果
检查项 | 命令示例 | 预期结果 |
---|---|---|
进程状态 | ps aux | grep -E 'rainbond|rbd' |
无输出 |
Systemd 服务列表 | systemctl list-unit-files | grep rbd |
无 .service 文件 |
端口占用 | netstat -tulnp | grep 7070 |
无输出 |
文件系统残留 | ls /opt/rainbond && ls /etc/rainbond |
目录不存在 |
浏览器访问测试 | 访问 http://<IP>:7070 | "Connection refused" |
⚠️ 四、常见问题解决
现象 | 原因与解决方案 |
---|---|
rbd: command not found |
✔️ 尝试 source /etc/profile <br>✔️ 直接跳转至手动卸载步骤 |
"Permission denied" 错误 | ✔️ 使用 sudo 执行命令<br>✔️ 检查文件所有权(chown root:root /opt/rainbond ) |
仍有后台进程存活 | ✔️ 使用 pkill -9 -f rainbond 强制终止 |
数据目录无法删除(忙/只读) | ✔️ 重启进入单用户模式:sudo reboot && init 1 <br>✔️ 然后执行 rm -rf |
卸载后网页仍可访问 | ✔️ 检查反向代理配置(Nginx/Traefik)<br>✔️ 清除浏览器缓存 |
🔄 五、替代方案:轻量重置(保留程序)
若仅需清空配置而非完全卸载:
rbd reset --all # 保留程序但重置数据库和配置
适用于调试或快速重新开始的场景。
📝 六、最终建议
你的情况 | 推荐操作 |
---|---|
✅ 能正常运行 rbd 命令 |
执行 rbd uninstall --all |
❌ rbd 不可用/安装异常 |
按「手动卸载」步骤操作 |
🌐 容器化部署 | 删除容器+镜像+持久化卷 |
🔄 多节点集群 | 逐节点卸载 + |
🔒 不确定安装方式 | 优先尝试 rbd uninstall --all ,失败则手动卸载 |
警告
- 数据丢失风险:手动删除
/var/lib/rainbond
会导致所有应用数据丢失,务必提前备份! - 依赖关系:若通过包管理器(如 apt/yum)安装,请勿直接删除文件,应使用
apt remove rainbond
等命令。 - 生产环境:建议在维护窗口期操作,避免影响业务连续性。
如仍无法解决,请提供以下信息以便进一步诊断:
rbd version
输出(若可用)docker ps
(若是容器化部署)- 完整的服务日志片段(脱敏后)