温馨提示×

Ubuntu如何部署C++项目

小樊
55
2026-07-06 23:39:50
栏目: 编程语言

在 Ubuntu 上部署 C++ 项目,一般包括 编译、安装依赖、运行环境配置、部署上线 等步骤。下面按常见场景给你一个完整、可操作的流程。


一、准备环境

1. 更新系统

sudo apt update
sudo apt upgrade -y

2. 安装编译工具链

sudo apt install -y build-essential

包含:

  • gcc / g++
  • make
  • 基本开发库

二、安装项目依赖

常见依赖示例

sudo apt install -y \
    libssl-dev \
    libcurl4-openssl-dev \
    libboost-all-dev \
    cmake

根据你的项目 READMECMakeLists.txt 安装对应依赖。


三、编译 C++ 项目

✅ 方式一:Makefile 项目

make

或指定线程数加速:

make -j$(nproc)

✅ 方式二:CMake 项目(最常见)

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

安装到系统目录(可选):

sudo make install

✅ 方式三:直接 g++ 编译

g++ main.cpp utils.cpp -o app -std=c++17 -O2

四、运行程序

./app

如果是服务类程序,建议后台运行:

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

五、部署为系统服务(推荐)

1. 创建 systemd 服务

假设可执行文件在:

/opt/myapp/app

创建服务文件:

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=ubuntu

[Install]
WantedBy=multi-user.target

2. 启动服务

sudo systemctl daemon-reload
sudo systemctl start myapp
sudo systemctl enable myapp

查看状态:

systemctl status myapp

六、生产环境建议

✅ 1. 使用 Release 模式编译

cmake -DCMAKE_BUILD_TYPE=Release ..

✅ 2. 静态链接(减少依赖)

g++ main.cpp -o app -static

✅ 3. 使用 Docker(强烈推荐)

FROM ubuntu:22.04
COPY app /app
CMD ["/app"]

七、常见问题排查

1. 缺少动态库

查看依赖:

ldd app

2. 权限不足

chmod +x app

3. 端口占用

sudo netstat -tulnp | grep 8080

八、典型部署目录结构(推荐)

/opt/myapp/
├── app
├── config.yaml
├── logs/
└── run.sh

九、总结流程(速查)

# 安装环境
sudo apt install build-essential cmake

# 编译
mkdir build && cd build
cmake ..
make

# 运行
./app

# 部署为服务
sudo systemctl enable myapp

如果你愿意,可以告诉我:

  • ✅ 项目类型(服务器 / 算法 / 桌面程序)
  • ✅ 是否使用 CMake / Makefile
  • ✅ 是否部署到 云服务器 / Docker / 本地

我可以给你 定制部署方案

0