部署 Linux C++ 应用通常包括编译构建、依赖处理、打包、分发和运行几个阶段。下面按“从简单到规范”的方式给你一个完整指南。
g++ -O2 main.cpp -o myapp
./myapp
✅ 适合:开发机、测试环境
❌ 不适合:多机器、生产环境
ldd myapp
g++ -O2 -static main.cpp -o myapp
注意:静态链接可能不符合某些库的许可(如 glibc)
./myapp
lib/
libxxx.so
设置运行路径:
export LD_LIBRARY_PATH=./lib:$LD_LIBRARY_PATH
cmake_minimum_required(VERSION 3.10)
project(myapp)
add_executable(myapp main.cpp)
构建:
mkdir build && cd build
cmake ..
make
tar czvf myapp.tar.gz myapp lib/
目标机器:
tar xzvf myapp.tar.gz
./myapp
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
FROM ubuntu:22.04
COPY myapp /app/myapp
WORKDIR /app
CMD ["./myapp"]
构建运行:
docker build -t myapp .
docker run -d myapp
✅ 优点:环境一致、易扩展
如果你愿意,可以告诉我:
我可以给你更精确的部署方案。