在CentOS中部署C++项目,可按以下步骤操作:
-
环境准备
- 安装开发工具链:
sudo yum groupinstall "Development Tools",并安装CMake、Git等工具。 - 如需特定GCC版本,可通过
devtoolset安装(如devtoolset-7)。
- 安装开发工具链:
-
项目编译
- 使用CMake构建:在项目根目录创建
CMakeLists.txt,配置依赖后执行mkdir build && cd build && cmake .. && make。 - 直接使用g++编译(简单项目):
g++ -o my_program main.cpp。
- 使用CMake构建:在项目根目录创建
-
依赖管理
- 用
ldd检查可执行文件的动态库依赖,确保依赖库已安装。 - 通过包管理器(
yum/dnf)安装缺失的库(如Boost)。
- 用
-
部署到服务器
- 用
scp/rsync将可执行文件和依赖库上传至服务器。 - 若依赖库不在系统路径,需将其复制到
/usr/lib等目录,并运行ldconfig更新缓存。
- 用
-
设置权限与运行
- 赋予可执行文件权限:
sudo chmod +x my_program。 - 直接运行:
./my_program,或通过nohup/screen后台运行。
- 赋予可执行文件权限:
-
配置为系统服务(可选)
- 创建
systemd服务文件(如/etc/systemd/system/my_program.service),内容示例:[Unit] Description=My C++ Program After=network.target [Service] ExecStart=/path/to/my_program Restart=always User=your_username [Install] WantedBy=multi-user.target - 启用并启动服务:
sudo systemctl daemon-reload && sudo systemctl start my_program && sudo systemctl enable my_program。
- 创建
-
安全与优化(可选)
- 配置防火墙开放端口:
sudo firewall-cmd --add-port=8080/tcp --permanent && sudo firewall-cmd --reload。 - 设置日志记录,定期监控程序运行状态。
- 配置防火墙开放端口:
注意事项:
- 生产环境建议使用Docker容器化部署,确保依赖隔离。
- 大型项目建议通过CI/CD工具(如Jenkins)自动化部署流程。
参考来源:[1,2,3,4,5,6,7,8,9,10,11]