3.6 KiB
3.6 KiB
部署指南
本文档详细说明了如何在 CentOS 系统上部署碰撞避免系统。支持在线和离线两种部署方式。
目录
系统要求
- CentOS 7 或更高版本
- 至少 2GB 可用内存
- 至少 10GB 可用磁盘空间
- root 权限
- Python 3.6 或更高版本
在线部署
如果服务器可以访问互联网,可以直接使用在线部署方式。
-
获取项目代码
git clone [项目仓库地址] cd CollisionAvoidance -
执行部署脚本
sudo ./scripts/deploy.sh
离线部署
如果服务器无法访问互联网,需要使用离线部署方式。
准备阶段(在有网络的环境中进行)
-
在有网络的 CentOS 环境中,获取项目代码
git clone [项目仓库地址] cd CollisionAvoidance -
执行离线包准备脚本
./scripts/prepare_offline_packages.sh
脚本会自动完成:
- 下载所需的系统依赖包
- 下载 Python 依赖包
- 创建完整的项目归档文件
部署步骤
-
将生成的归档文件传输到目标服务器
scp ../CollisionAvoidance.tar.gz root@target-server:/tmp/ -
在目标服务器上解压
cd /tmp tar xzf CollisionAvoidance.tar.gz cd CollisionAvoidance -
删除 32 位依赖包
注意:由于系统是 64 位架构,我们需要删除所有 32 位(i686)的依赖包,以避免安装冲突。这些包是在准备离线包时自动下载的,但在 64 位系统上不需要。
# 删除所有 i686 架构的包 cd packages rm -f *i686.rpm cd .. -
执行部署脚本
sudo ./scripts/deploy.sh
部署后配置
服务管理
- 启动服务:
systemctl start collision-avoidance - 停止服务:
systemctl stop collision-avoidance - 重启服务:
systemctl restart collision-avoidance - 查看状态:
systemctl status collision-avoidance - 查看日志:
journalctl -u collision-avoidance -f
配置文件
- 配置文件位置:
/etc/collision_avoidance/ - WebSocket 服务端口:8010
- Mock Server 端口:8081
防火墙配置
如果使用 firewalld:
# 开放 WebSocket 端口
firewall-cmd --permanent --add-port=8010/tcp
# 开放 Mock Server 端口
firewall-cmd --permanent --add-port=8081/tcp
firewall-cmd --reload
常见问题
1. 服务启动失败
- 检查服务日志:
journalctl -u collision-avoidance -n 50 - 确认配置文件权限正确
- 验证端口 8010 和 8081 是否被占用
2. Mock Server 启动失<E58AA8><E5A4B1>
- 检查 Python 和依赖包是否正确安装
- 确认端口 8081 未被占用
- 检查 Mock Server 日志输出
3. 防火墙配置
- 如果使用其他防火墙,需要手动开放 8010 和 8081 端口
- 确认防火墙规则是否生效:
firewall-cmd --list-all
4. 依赖包安装问题
- 如果遇到依赖包冲突,检查是否有 i686 架构的包未被删除
- 使用
rpm -qa | grep i686命令检查系统中的 32 位包 - 如果发现 i686 包,使用
rpm -e命令删除它们
卸载
如需卸载系统:
sudo ./scripts/uninstall.sh
卸载脚本会:
- 停止并禁用服务
- 删除系统服务配置
- 删除程序文件
- 删除配置文件
- 关闭防火墙端口
技术支持
如遇到问题,请:
- 查看服务日志
- 检查系统日志
- 检查 Mock Server 日志
- 联系技术支持团队