CentOS中C++项目如何部署上线

在CentOS中部署C++项目,可按以下步骤操作:

  1. 环境准备

    • 安装开发工具链:sudo yum groupinstall "Development Tools",并安装CMake、Git等工具。
    • 如需特定GCC版本,可通过devtoolset安装(如devtoolset-7)。
  2. 项目编译

    • 使用CMake构建:在项目根目录创建CMakeLists.txt,配置依赖后执行mkdir build && cd build && cmake .. && make
    • 直接使用g++编译(简单项目):g++ -o my_program main.cpp
  3. 依赖管理

    • ldd检查可执行文件的动态库依赖,确保依赖库已安装。
    • 通过包管理器(yum/dnf)安装缺失的库(如Boost)。
  4. 部署到服务器

    • scp/rsync将可执行文件和依赖库上传至服务器。
    • 若依赖库不在系统路径,需将其复制到/usr/lib等目录,并运行ldconfig更新缓存。
  5. 设置权限与运行

    • 赋予可执行文件权限:sudo chmod +x my_program
    • 直接运行:./my_program,或通过nohup/screen后台运行。
  6. 配置为系统服务(可选)

    • 创建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
  7. 安全与优化(可选)

    • 配置防火墙开放端口: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]