温馨提示×

怎样部署linux c++应用

小樊
46
2026-09-11 01:48:38
栏目: 编程语言

部署 Linux C++ 应用通常包括编译构建、依赖处理、打包、分发和运行几个阶段。下面按“从简单到规范”的方式给你一个完整指南。


一、最简单方式(单机直接运行)

1. 编译

g++ -O2 main.cpp -o myapp

2. 运行

./myapp

✅ 适合:开发机、测试环境
❌ 不适合:多机器、生产环境


二、处理依赖(非常重要)

1. 查看依赖

ldd myapp

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

g++ -O2 -static main.cpp -o myapp

注意:静态链接可能不符合某些库的许可(如 glibc)

3. 动态库一起部署

./myapp
lib/
  libxxx.so

设置运行路径:

export LD_LIBRARY_PATH=./lib:$LD_LIBRARY_PATH

三、使用构建系统(推荐)

CMake 示例

cmake_minimum_required(VERSION 3.10)
project(myapp)

add_executable(myapp main.cpp)

构建:

mkdir build && cd build
cmake ..
make

四、打包部署(生产常用)

方式 1:tar 包

tar czvf myapp.tar.gz myapp lib/

目标机器:

tar xzvf myapp.tar.gz
./myapp

方式 2:systemd 服务(后台运行)

myapp.service

[Unit]
Description=My C++ App

[Service]
ExecStart=/opt/myapp/myapp
WorkingDirectory=/opt/myapp
Restart=always

[Install]
WantedBy=multi-user.target

部署:

cp myapp /opt/myapp/
cp myapp.service /etc/systemd/system/
systemctl daemon-reload
systemctl start myapp
systemctl enable myapp

五、容器化部署(现代推荐)

Dockerfile

FROM ubuntu:22.04
COPY myapp /app/myapp
WORKDIR /app
CMD ["./myapp"]

构建运行:

docker build -t myapp .
docker run -d myapp

✅ 优点:环境一致、易扩展


六、高级方案(企业级)

  • deb / rpm 包(apt / yum 安装)
  • CI/CD(GitHub Actions / GitLab CI)
  • 配置管理(Ansible / SaltStack)
  • 监控(Prometheus + log)

七、部署检查清单 ✅

  • [ ] 编译环境一致(glibc 版本)
  • [ ] 依赖库已部署
  • [ ] 日志路径可写
  • [ ] 权限正确
  • [ ] 开机自启(如需要)
  • [ ] 崩溃可重启

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

  • 命令行工具 / 服务 / GPU 程序
  • 目标系统是 Ubuntu / CentOS / 容器
  • 是否需要 跨机器分发

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

0