在 CentOS 上部署 C++ 项目,通常分为 开发环境准备 → 编译 → 部署运行 → 可选服务化 几个阶段。下面给你一套通用、实战型流程,适用于大多数 C++ 项目(含 Makefile / CMake)。
sudo yum update -y
sudo yum groupinstall "Development Tools" -y
包含:
sudo yum install -y \
cmake \
git \
wget \
curl \
vim
gcc --version
g++ --version
如果项目需要 C++17 / C++20,建议:
sudo yum install centos-release-scl -y
sudo yum install devtoolset-11 -y
scl enable devtoolset-11 bash
git clone https://github.com/your/project.git
cd project
scp project.tar.gz user@ip:/home/user/
tar -zxvf project.tar.gz
mkdir build
cd build
cmake ..
make -j$(nproc)
如果项目需要指定 gcc:
cmake -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ ..
make
或指定线程数:
make -j4
g++ main.cpp utils.cpp -o app -std=c++17 -O2
sudo mkdir -p /opt/myapp
sudo cp app /opt/myapp/
cd /opt/myapp
./app
nohup ./app > app.log 2>&1 &
查看进程:
ps -ef | grep app
ldd app
sudo yum install xxx
或:
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
sudo vim /etc/systemd/system/myapp.service
内容示例:
[Unit]
Description=My C++ App
After=network.target
[Service]
ExecStart=/opt/myapp/app
WorkingDirectory=/opt/myapp
Restart=always
User=root
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl start myapp
sudo systemctl enable myapp
systemctl status myapp
原因:gcc 版本过低
✅ 解决:升级 gcc 或使用静态链接
✅ 解决:
ldconfig
或调整 LD_LIBRARY_PATH
✅ 建议使用:
/opt/myapp/
├── bin/
│ └── app
├── conf/
├── log/
└── run/
如果你愿意,可以直接告诉我:
我可以给你 完全针对你项目的部署方案(包括自动部署脚本)。