首页主机资讯C++程序在Ubuntu中如何部署运行

C++程序在Ubuntu中如何部署运行

时间2025-11-27 21:12:05发布访客分类主机资讯浏览670
导读:在 Ubuntu 中部署与运行 C++ 程序 一 环境准备 更新软件源并安装编译工具链与构建工具: 安装 GCC/G++ 与常用构建工具:sudo apt update && sudo apt install build...

在 Ubuntu 中部署与运行 C++ 程序

一 环境准备

  • 更新软件源并安装编译工具链与构建工具:
    • 安装 GCC/G++ 与常用构建工具:sudo apt update & & sudo apt install build-essential
    • 可选:安装 CMake:sudo apt install cmake
    • 可选:安装 Clang:sudo apt install clang
  • 验证安装:
    • gcc --version、g++ --version、cmake --version、clang++ --version

二 快速运行单个源文件

  • 编写示例程序:创建 hello.cpp
    • #include int main() { std::cout < < “Hello, World!\n”; return 0; }
  • 编译与运行:
    • g++ hello.cpp -o hello
    • ./hello
  • 常用编译选项(按需添加):
    • -Wall(开启常用警告)、-O2(优化)、-g(生成调试信息)、-std=c++17(指定标准)

三 多文件项目与 CMake 构建

  • 安装 CMake:sudo apt install cmake
  • 目录结构示例:
    • project/
      • CMakeLists.txt
      • src/
        • main.cpp
        • foo.cpp
      • include/
        • foo.h
  • CMakeLists.txt 示例:
    • cmake_minimum_required(VERSION 3.10) project(MyApp) set(CMAKE_CXX_STANDARD 17) include_directories(include) add_executable(myapp src/main.cpp src/foo.cpp)
  • 构建与运行:
    • mkdir -p build & & cd build
    • cmake …
    • make -j$(nproc)
    • ./myapp

四 远程部署与运行

  • 将可执行文件与所需资源传到服务器:
    • scp hello user@server:/home/user/
    • 或使用 rsync:rsync -av hello user@server:/home/user/
  • 登录服务器运行:
    • ssh user@server
    • chmod +x hello & & ./hello
  • 如需后台运行并输出日志:
    • nohup ./hello > app.log 2> & 1 &

五 生产部署要点(Web 服务示例)

  • 直接运行 C++ Web 服务(示例框架 Crow):
    • g++ main.cpp -o myapp -std=c++17 -pthread
    • ./myapp(默认监听 http://127.0.0.1:8080
  • 使用 Nginx 反向代理(推荐):
    • 安装:sudo apt install nginx
    • 配置 /etc/nginx/sites-available/default:
      • server { listen 80; server_name yourdomain.com; location / { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }
    • 生效:sudo systemctl restart nginx
  • 使用 systemd 托管进程(开机自启、崩溃重启):
    • 新建 /etc/systemd/system/cppweb.service:
      • [Unit] Description=My C++ Web App; After=network.target
      • [Service] ExecStart=/home/ubuntu/myapp; WorkingDirectory=/home/ubuntu; Restart=always; User=www-data
      • [Install] WantedBy=multi-user.target
    • 启用与启动:sudo systemctl daemon-reexec & & sudo systemctl enable --now cppweb
  • 调试与问题定位:
    • 安装与启动 gdb:sudo apt install gdb;gdb ./myapp
    • 查看服务状态与日志:sudo systemctl status cppweb;journalctl -u cppweb -f

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: C++程序在Ubuntu中如何部署运行
本文地址: https://pptw.com/jishu/758294.html
在Debian上使用WebLogic有哪些最佳实践 Debian环境下WebLogic的更新与升级流程是怎样的

游客 回复需填写必要信息