温馨提示×

centos怎样部署c++项目

小樊
48
2026-09-30 04:13:14
栏目: 编程语言

在 CentOS 上部署 C++ 项目,一般流程包括:环境准备 → 编译 → 运行 →(可选)服务化/自动化部署。下面按常见场景给你一个完整说明。


一、环境准备

1. 更新系统

sudo yum update -y

2. 安装编译工具

sudo yum install -y gcc gcc-c++ make cmake

如果是较新 CentOS(如 Stream),也可用 dnf:

sudo dnf install -y gcc gcc-c++ make cmake

3. 安装依赖库(按需)

例如:

sudo yum install -y openssl-devel boost-devel zlib-devel

二、上传 C++ 项目代码

常用方式:

  • scp
scp -r ./myproject user@ip:/home/user/
  • git clone
git clone https://github.com/xxx/myproject.git

三、编译 C++ 项目

方式 1:直接 g++ 编译

g++ main.cpp -o app -O2 -pthread

方式 2:Makefile

make

方式 3:CMake(推荐)

mkdir build
cd build
cmake ..
make -j$(nproc)

生成的二进制文件一般在 build/ 或项目根目录。


四、运行 C++ 程序

./app

后台运行:

nohup ./app > app.log 2>&1 &

或指定端口/参数:

./app --port=8080

五、部署为系统服务(推荐生产环境)

使用 systemd(CentOS 7+)

创建服务文件:

sudo vi /etc/systemd/system/myproject.service

示例:

[Unit]
Description=My C++ Project
After=network.target

[Service]
ExecStart=/home/user/myproject/app
WorkingDirectory=/home/user/myproject
Restart=always
User=user

[Install]
WantedBy=multi-user.target

重载并启动:

sudo systemctl daemon-reload
sudo systemctl start myproject
sudo systemctl enable myproject

查看状态:

systemctl status myproject

六、常见问题处理

1. 缺少动态库

ldd app

若显示 not found,安装对应 -devel 包。

2. GLIBC / GCC 版本过低

可升级 GCC:

sudo yum install -y centos-release-scl
sudo yum install -y devtoolset-11
scl enable devtoolset-11 bash

七、进阶部署方式(可选)

  • Docker 部署(推荐跨环境)
  • CI/CD(GitLab / Jenkins)
  • 静态编译(减少依赖)
g++ main.cpp -o app -static

如果你能告诉我:

  • CentOS 版本(7 / 8 / Stream)
  • 项目类型(命令行 / 服务端 / 网络程序)
  • 是否使用第三方库(Boost、gRPC、OpenCV 等)

我可以给你更精确的部署方案。

0 踩