CollisionAvoidance/docs/deployment_guide.md
2024-12-20 11:34:17 +08:00

3.3 KiB
Raw Blame History

部署指南

本文档详细说明了如何在 CentOS 系统上部署碰撞避免系统。支持在线和离线两种部署方式。

目录

系统要求

  • CentOS 7 或更高版本
  • 至少 2GB 可用内存
  • 至少 10GB 可用磁盘空间
  • root 权限
  • Python 3.6 或更高版本

在线部署

如果服务器可以访问互联网,可以直接使用在线部署方式。

  1. 获取项目代码
git clone [项目仓库地址]
cd CollisionAvoidance
  1. 执行部署脚本
sudo ./scripts/deploy.sh

离线部署

如果服务器无法访问互联网,需要使用离线部署方式。

准备阶段(在有网络的环境中进行)

  1. 在有网络的 CentOS 环境中,获取项目代码
git clone [项目仓库地址]
cd CollisionAvoidance
  1. 执行离线包准备脚本
./scripts/prepare_offline_packages.sh

脚本会自动完成:

  • 下载所需的系统依赖
  • 下载 Python 依赖包
  • 创建完整的项目归档文件

部署步骤

  1. 将生成的归档文件传输到目标服务器
scp ../CollisionAvoidance.tar.gz root@target-server:/tmp/
  1. 在目标服务器上解压
cd /tmp
tar xzf CollisionAvoidance.tar.gz
cd CollisionAvoidance
  1. 删除 32 位依赖包

注意:由于系统是 64 位架构,我们需要删除所有 32 位i686的依赖包以避免安装冲突。这些包是在准备离线包时自动下载的但在 64 位系统上不需要。

# 删除所有 i686 架构的包
cd packages
rm -f *i686.rpm
cd ..
  1. 执行部署脚本
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 启动失败

  • 检查 Python 和依赖包是否正确安装
  • 确认端口 8081 未被占用
  • 检查 Mock Server 日志输出

3. 防火墙配置

  • 如果使用其他防火墙,需要手动开放 8010 和 8081 端口
  • 确认防火墙规<EFBFBD><EFBFBD><EFBFBD>是否生效firewall-cmd --list-all

卸载

如需卸载系统:

sudo ./scripts/uninstall.sh

卸载脚本会:

  • 停止并禁用服务
  • 删除系统服务配置
  • 删除程序文件
  • 删除配置文件
  • 关闭防火墙端口

技术支持

如遇到问题,请:

  1. 查看服务日志
  2. 检查系统日志
  3. 检查 Mock Server 日志
  4. 联系技术支持团队