CollisionAvoidance/docs/deployment_guide.md
2024-12-30 09:41:17 +08:00

3.6 KiB
Raw Permalink Blame History

部署指南

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

目录

系统要求

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

在线部署

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

  1. 获取项目代码

    git clone [项目仓库地址]
    cd CollisionAvoidance
    
  2. 执行部署脚本

    sudo ./scripts/deploy.sh
    

离线部署

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

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

  1. 在有网络的 CentOS 环境中,获取项目代码

    git clone [项目仓库地址]
    cd CollisionAvoidance
    
  2. 执行离线包准备脚本

    ./scripts/prepare_offline_packages.sh
    

脚本会自动完成:

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

部署步骤

  1. 将生成的归档文件传输到目标服务器

    scp ../CollisionAvoidance.tar.gz root@target-server:/tmp/
    
  2. 在目标服务器上解压

    cd /tmp
    tar xzf CollisionAvoidance.tar.gz
    cd CollisionAvoidance
    
  3. 删除 32 位依赖包

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

    # 删除所有 i686 架构的包
    cd packages
    rm -f *i686.rpm
    cd ..
    
  4. 执行部署脚本

    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

卸载脚本会:

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

技术支持

如遇到问题,请:

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