修改部署指南
This commit is contained in:
parent
5de3e946ae
commit
5479261cd8
@ -22,112 +22,61 @@
|
||||
|
||||
如果服务器可以访问互联网,可以直接使用在线部署方式。
|
||||
|
||||
### 步骤
|
||||
|
||||
1. 安装 Python 和 pip
|
||||
|
||||
```bash
|
||||
# 安装 Python 3 和 pip
|
||||
yum install -y python3 python3-pip
|
||||
|
||||
# 安装 Python 依赖
|
||||
pip3 install flask
|
||||
```
|
||||
|
||||
2. 获取项目代码
|
||||
1. 获取项目代码
|
||||
|
||||
```bash
|
||||
git clone [项目仓库地址]
|
||||
cd collision_avoidance
|
||||
cd CollisionAvoidance
|
||||
```
|
||||
|
||||
3. 执行部署脚本
|
||||
2. 执行部署脚本
|
||||
|
||||
```bash
|
||||
sudo ./scripts/deploy.sh
|
||||
```
|
||||
|
||||
脚本会自动完成以下操作:
|
||||
|
||||
- 安装所需依赖包
|
||||
- 编译项目
|
||||
- 配置系统服务
|
||||
- 启动服务
|
||||
|
||||
## 离线部署
|
||||
|
||||
如果服务器无法访问互联网,需要提前准备依赖包,使用离线部署方式。
|
||||
如果服务器无法访问互联网,需要使用离线部署方式。
|
||||
|
||||
### 准备阶段(在有网络的环境中进行)
|
||||
|
||||
1. 创建包下载目录
|
||||
1. 在有网络的 CentOS 环境中,获取项目代码
|
||||
|
||||
```bash
|
||||
mkdir -p packages
|
||||
cd packages
|
||||
git clone [项目仓库地址]
|
||||
cd CollisionAvoidance
|
||||
```
|
||||
|
||||
2. 下载系统依赖包
|
||||
2. 执行离线包准备脚本
|
||||
|
||||
```bash
|
||||
yum install --downloadonly --downloaddir=. \
|
||||
cmake3 \
|
||||
git \
|
||||
nlohmann-json-devel \
|
||||
boost-devel \
|
||||
openssl-devel \
|
||||
python3 \
|
||||
python3-pip \
|
||||
"Development Tools"
|
||||
./scripts/prepare_offline_packages.sh
|
||||
```
|
||||
|
||||
3. 下载 Python 依赖包
|
||||
脚本会自动完成:
|
||||
|
||||
```bash
|
||||
# 创建 requirements.txt
|
||||
echo "flask==2.0.1" > requirements.txt
|
||||
|
||||
# 下载 Python 包
|
||||
pip3 download -r requirements.txt -d python_packages/
|
||||
```
|
||||
|
||||
4. 创建依赖包列表
|
||||
|
||||
```bash
|
||||
ls *.rpm > offline-deps.txt
|
||||
```
|
||||
|
||||
5. 打包项目文件
|
||||
|
||||
```bash
|
||||
cd ..
|
||||
tar czf collision_avoidance.tar.gz collision_avoidance/
|
||||
```
|
||||
- 下载所需的系统依赖包
|
||||
- 下载 Python 依赖包
|
||||
- 创建完整的项目归档文件
|
||||
|
||||
### 部署步骤
|
||||
|
||||
1. 将打包文件传输到目标服务器
|
||||
1. 将生成的归档文件传输到目标服务器
|
||||
|
||||
```bash
|
||||
scp collision_avoidance.tar.gz root@target-server:/tmp/
|
||||
scp ../CollisionAvoidance.tar.gz root@target-server:/tmp/
|
||||
```
|
||||
|
||||
2. 在目标服务器上解压
|
||||
|
||||
```bash
|
||||
cd /tmp
|
||||
tar xzf collision_avoidance.tar.gz
|
||||
cd collision_avoidance
|
||||
tar xzf CollisionAvoidance.tar.gz
|
||||
cd CollisionAvoidance
|
||||
```
|
||||
|
||||
3. 安装 Python 依赖
|
||||
|
||||
```bash
|
||||
# 安装离线 Python 包
|
||||
pip3 install --no-index --find-links=packages/python_packages -r packages/requirements.txt
|
||||
```
|
||||
|
||||
4. 执行部署脚本
|
||||
3. 执行部署脚本
|
||||
|
||||
```bash
|
||||
sudo ./scripts/deploy.sh
|
||||
@ -161,77 +110,25 @@ firewall-cmd --permanent --add-port=8081/tcp
|
||||
firewall-cmd --reload
|
||||
```
|
||||
|
||||
## 目录结构
|
||||
|
||||
部署完成后的目录结构:
|
||||
|
||||
```
|
||||
/
|
||||
├── opt/collision_avoidance/ # 工作目录
|
||||
├── etc/collision_avoidance/ # 配置文件目录
|
||||
├── usr/local/bin/ # 可执行文件目录
|
||||
└── etc/systemd/system/ # 服务配置文件目录
|
||||
```
|
||||
|
||||
## 常见问题
|
||||
|
||||
### 1. 依赖包安装失败
|
||||
|
||||
- 检查包版本是否与系统兼容
|
||||
- 确认所有依赖包都已下载
|
||||
- 检查包的完整性
|
||||
|
||||
### 2. Python 依赖安装失败
|
||||
|
||||
- 确保 Python 版本正确(3.6 或更高)
|
||||
- 检查 pip 是否正确安装
|
||||
- 确认所有 Python 包都已下载到正确位置
|
||||
|
||||
### 3. 编译失败
|
||||
|
||||
- 确保所有依赖已正确安装
|
||||
- 检查编译日志中的具体错误信息
|
||||
- 确保系统内存足够
|
||||
|
||||
### 4. 服务启动失败
|
||||
### 1. 服务启动失败
|
||||
|
||||
- 检查服务日志:`journalctl -u collision-avoidance -n 50`
|
||||
- 确认配置文件权限正确
|
||||
- 验证端口 8010 和 8081 是否被占用
|
||||
|
||||
### 5. Mock Server 启动失败
|
||||
### 2. Mock Server 启动失败
|
||||
|
||||
- 检查 Python 和依赖包是否正确安装
|
||||
- 确认端口 8081 未被占用
|
||||
- 检查 Mock Server 日志输出
|
||||
|
||||
### 6. 防火墙配置
|
||||
### 3. 防火墙配置
|
||||
|
||||
- 如果使用其他防火墙,需要手动开放 8010 和 8081 端口
|
||||
- 确认防火墙规则是否生效:`firewall-cmd --list-all`
|
||||
|
||||
## 注意事项
|
||||
|
||||
1. 离线部署注意事项:
|
||||
- 确保下载的 RPM 包版本与目标系统兼容
|
||||
- 所有依赖包都需要下载到 `packages` 目录
|
||||
- `offline-deps.txt` 文件必须包含所有需要安装的包名
|
||||
- 如果某些包有依赖关系,需要确保按正确顺序列在 `offline-deps.txt` 中
|
||||
- Python 包需要下载到 `packages/python_packages` 目录
|
||||
|
||||
2. 系统配置注意事项:
|
||||
- 部署前确保系统时间正确
|
||||
- 确保系统有足够的磁盘空间
|
||||
- 建议在部署前备份重要数据
|
||||
- 确保 Python 环境配置正确
|
||||
|
||||
3. 安全注意事项:
|
||||
- 及时更新系统安全补丁
|
||||
- 定期检查系统日志
|
||||
- 建议配置系统防火墙
|
||||
- 定期备份配置文件
|
||||
- 注意 Mock Server 的端口访问控制
|
||||
|
||||
## 卸载
|
||||
|
||||
如需卸载系统:
|
||||
|
||||
Loading…
Reference in New Issue
Block a user