在VPS上部署C++应用程序:分步指南

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

在VPS上部署C++应用程序:分步指南



C++开发只是工作的一半。为了让您的应用程序可供用户使用,需要将其部署到服务器上。在本文中,我们将详细讲解在运行Linux的VPS(虚拟专用服务器)上部署C++应用程序的过程。您将学习如何准备服务器、编译代码、配置自动启动以及确保安全。本材料面向熟悉C++和Linux基础的开发者。



1. 准备VPS并安装必要工具



在上传代码之前,请确保您的VPS已准备好工作。我们将使用Ubuntu 22.04 LTS(或更新版本)——这是最稳定、最流行的Web服务器发行版。



1.1. 连接到服务器



购买VPS后,您将获得IP地址、用户名(通常是root)和密码。通过SSH连接:



ssh root@您的服务器IP


为了安全起见,建议创建一个单独的用户并禁用root登录,但对于首次部署,可以使用root进行操作。



1.2. 更新系统并安装编译器



更新包管理器并安装C++构建所需的工具:



apt update && apt upgrade -yapt install build-essential cmake git -y


  • build-essential — 编译器集合(g++、gcc)和实用工具。
  • cmake — 构建系统,简化编译过程。
  • git — 用于克隆仓库。


检查安装:



g++ --versioncmake --version


2. 编译和构建C++应用程序



假设您的应用程序位于Git仓库中。将其克隆到服务器并进行构建。



2.1. 克隆仓库



cd /optgit clone https://github.com/您的用户名/您的应用程序.gitcd 您的应用程序


建议将项目放置在/opt或/var/www目录中,而不是主文件夹。



2.2. 通过CMake构建



为构建创建一个单独的目录并运行CMake:



mkdir build && cd buildcmake ..make -j$(nproc)


标志-j$(nproc)通过使用所有CPU核心来加速编译。成功构建后,可执行文件将出现在build文件夹中。



2.3. 测试应用程序



手动运行应用程序以确保其正常工作:



./您的应用程序


如果应用程序是HTTP服务器,请通过curl检查:



curl http://localhost:8080


3. 通过systemd配置自动启动



为了确保应用程序在服务器启动时自动运行,并在崩溃时重新启动,我们将创建一个systemd服务。



3.1. 创建unit文件



创建文件/etc/systemd/system/myapp.service:



nano /etc/systemd/system/myapp.service


粘贴以下内容(替换路径和用户名):



[Unit]Description=My C++ ApplicationAfter=network.target

[Service]ExecStart=/opt/您的应用程序/build/您的应用程序WorkingDirectory=/opt/您的应用程序/buildRestart=alwaysRestartSec=5User=www-dataGroup=www-data

[Install]WantedBy=multi-user.target


  • ExecStart — 可执行文件的完整路径。
  • Restart=always — 崩溃时自动重启。
  • User/Group — 建议使用非特权用户(例如www-data)。


3.2. 启动服务



systemctl daemon-reloadsystemctl enable myapp.servicesystemctl start myapp.service


检查状态:



sys                

博客

书籍推荐