你这个问题比较宽泛,一般“Linux C++ 部署”通常指 把 C++ 程序编译好,放到 Linux 服务器上运行。下面我按最常见流程给你一个完整说明,从开发到部署。
开发代码
↓
编译(g++ / cmake)
↓
生成可执行文件 / 动态库
↓
上传到 Linux 服务器
↓
配置环境(依赖、权限)
↓
运行(前台 / 后台 / systemd)
# Ubuntu / Debian
sudo apt update
sudo apt install g++ cmake make
# CentOS / Rocky / Alma
sudo yum install gcc-c++ cmake make
// main.cpp
#include <iostream>
int main() {
std::cout << "Hello Linux Deploy" << std::endl;
}
编译:
g++ main.cpp -o app
运行:
./app
project/
├── CMakeLists.txt
├── main.cpp
└── utils.cpp
cmake_minimum_required(VERSION 3.10)
project(MyApp)
set(CMAKE_CXX_STANDARD 17)
add_executable(app main.cpp utils.cpp)
mkdir build
cd build
cmake ..
make
生成:
./app
scp app user@server:/home/user/app
或上传整个目录:
scp -r build user@server:/opt/myapp
chmod +x /home/user/app
ldd app
如果看到 not found,需要安装对应库:
sudo apt install libxxx
./app
nohup ./app > app.log 2>&1 &
查看:
ps aux | grep app
sudo vim /etc/systemd/system/myapp.service
内容:
[Unit]
Description=My C++ App
After=network.target
[Service]
ExecStart=/home/user/app
Restart=always
User=user
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl start myapp
sudo systemctl enable myapp
查看状态:
systemctl status myapp
✅ 解决:
g++ main.cpp -static -o app
./app: error while loading shared libraries
✅ 解决:
.so 一起部署,设置:export LD_LIBRARY_PATH=./lib:$LD_LIBRARY_PATH
Permission denied
✅ 解决:
chmod +x app
| 场景 | 推荐方式 |
|---|---|
| 微服务 | Docker |
| 高性能服务 | systemd |
| 定时任务 | crontab |
| 多机部署 | Ansible / CI |
为了给你更精准的方案,你可以补充:
我可以直接给你一套 可复制的部署方案。