C++在centos上的部署步骤是什么
导读:适用于 CentOS 的 C++ 应用部署步骤 一 准备与安装编译工具 更新系统并安装基础工具: 更新软件包:sudo yum update -y 安装开发工具组:sudo yum groupinstall -y “Developmen...
适用于 CentOS 的 C++ 应用部署步骤
一 准备与安装编译工具
- 更新系统并安装基础工具:
- 更新软件包:sudo yum update -y
- 安装开发工具组:sudo yum groupinstall -y “Development Tools”
- 安装常用构建与调试工具:sudo yum install -y cmake make gdb
- 验证工具链版本:
- 查看编译器版本:gcc --version、g++ --version
- 查看构建工具版本:make --version、cmake --version、gdb --version
- 说明:上述命令覆盖大多数 CentOS 7/8 场景,能快速准备 C++ 编译与调试环境。
二 安装依赖库
- 使用 YUM 安装项目所需的运行时与开发库(示例):
- 正则与压缩:sudo yum install -y pcre pcre-devel zlib zlib-devel
- 加密通信:sudo yum install -y openssl openssl-devel
- 原则:仅安装业务依赖的库及其 -devel 包(头文件与链接库),避免不必要的系统膨胀。
三 获取代码与构建
- 获取源码:
- 示例:git clone & & cd
- 构建方式:
- 直接编译:g++ -O2 -o myapp main.cpp(按需添加 -I、-L、-l 指定头文件与库路径)
- 使用 CMake(推荐):
- 构建目录:mkdir -p build & & cd build
- 生成与编译:cmake -DCMAKE_BUILD_TYPE=Release … & & make -j$(nproc)
- 产物检查:确认生成可执行文件(如 myapp)与所需动态库在可访问路径下。
四 运行与作为服务托管
- 直接运行:
- 赋予执行权限:chmod +x myapp
- 前台运行:**./**myapp
- 后台运行:nohup ./myapp > app.log 2> & 1 &
- 使用 systemd 托管(生产推荐):
- 新建服务文件:sudo vim /etc/systemd/system/myapp.service
- 示例内容:
[Unit] Description=My C++ Application After=network.target [Service] Type=simple ExecStart=/usr/local/bin/myapp Restart=always User=myapp Group=myapp Environment=LOG_LEVEL=info [Install] WantedBy=multi-user.target - 启用与启动:
- 重新加载:sudo systemctl daemon-reload
- 开机自启:sudo systemctl enable myapp.service
- 启动服务:sudo systemctl start myapp.service
- 查看状态:sudo systemctl status myapp.service
- 说明:将 ExecStart 指向实际可执行文件路径,按需设置 User/Group 与 Environment。
五 升级编译器与交付建议
- 升级编译器(SCL 方式,避免替换系统默认 GCC):
- 安装 SCL 源:sudo yum install -y centos-release-scl
- 安装工具链(示例为 GCC 10):sudo yum install -y devtoolset-10-gcc devtoolset-10-gcc-c++
- 启用新版本:scl enable devtoolset-10 bash
- 持久化启用:将 source /opt/rh/devtoolset-10/enable 加入 ~/.bashrc
- 验证:gcc --version、g++ --version
- 交付与运维建议:
- 产物清单化:可执行文件、依赖的 .so 库、配置、启动脚本/服务文件、README
- 运行环境:尽量使用相同 glibc 版本;第三方库统一目录(如 /usr/local/lib),必要时配置 /etc/ld.so.conf.d/*.conf 并运行 ldconfig
- 日志与监控:使用 journalctl -u myapp 查看日志;配置进程监控与告警
- 可选容器化:用 Docker 打包运行环境,提升一致性与可移植性。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: C++在centos上的部署步骤是什么
本文地址: https://pptw.com/jishu/770075.html
