C++ 服务部署实战:从源码到公网访问

在一台 2C2G 的云服务器上实测:单文件 HTTP 服务器,g++ 编译,监听 8080 端口,从编译到公网访问全流程跑通。 1. socket 七步流程 示例是一个约 60 行的单文件程序 http_server.cpp,纯 Linux socket API、零第三方依赖,放在你自己的项目目录里即可。 socket() → bind() → listen() → accept() → recv() → send() → close() 建电话 插网线 开机待命 接电话 听需求 答复 挂断 步骤 调用 说明 1 socket(AF_INET, SOCK_STREAM, 0) IPv4 + TCP,返回文件描述符(Linux 一切皆文件) 2 bind(fd, &addr, sizeof) 绑定地址;INADDR_ANY(0.0.0.0)= 监听所有网卡 3 listen(fd, 16) 开始待命;16 是 backlog 等待队列长度 4 accept(fd, ...) 阻塞等客户端,返回新 fd(每客户一个) 5 recv(fd, buf, n, 0) 读 HTTP 请求报文(原始文本) 6 send(fd, resp, len, 0) 回 HTTP 响应 7 close(fd) 挂断,回 while 等下一客 要点: ...

2026 年 8 月 25 日

C++ 后端学习路线:以云服务器为练兵场

目标:从零起步,拿一台 2C2G 的云服务器当主战场,系统学习 C++ 后端开发。 原则:基础 → 系统 → 网络 → 框架 → 工程化,渐进推进;每个阶段都在云服务器上产出可运行的作品。 总览 阶段 主题 周期 云服务器上的产出 0 Linux 基础与服务器上手 起步阶段,边用边补 workspace 工作目录、用户与权限体系 1 现代 C++ 核心 2-4 周 编译与工具链的熟练度 2 Linux 系统与网络编程 4-6 周 手写并发 HTTP 服务器 3 框架与中间件 6-8 周 Drogon + MySQL + Redis 的 REST API 4 工程化与云原生 持续 Docker 化部署 + CI/CD + 监控 时长按「每天 1-2 小时」估算,弹性理解;项目驱动,不以周数为硬指标。 阶段 0 不必一次啃完:进程管理、看日志、shell 脚本这些内容在后面每个阶段都会反复用到,随用随补即可。 阶段 0:Linux 基础与服务器上手 这一层要覆盖的内容: ...

2026 年 8 月 25 日

Linux 基础操作:目录结构、磁盘分区与权限

适用读者:有 C++/Qt 基础(熟悉 QDir / QFile),手边有一台云服务器(示例环境:Alibaba Cloud Linux,2 核 / 2G / 40G 系统盘)。 主线:每条命令都在真实服务器上跑过,边用边理解。 1. 根目录里都有什么 ls / 看到的目录(Alibaba Cloud Linux 实测): bin dev home lib64 media opt root sbin swapfile tmp var boot etc lib lost+found mnt proc run srv sys usr 这些目录不是平级无关的文件夹,而是各司其职(FHS 标准约定): 目录 放什么 类比 Windows /etc 系统与服务配置文件 C:\Windows\System32 配置 /usr 系统软件与库(最大) C:\Program Files /var 经常变化的数据:日志、缓存 C:\ProgramData 日志 /home 普通用户的家目录 C:\Users\ /root root 用户的家目录(不在 /home 里) — /tmp 临时文件,重启可能清空 %TEMP% /opt 第三方大软件 D:\Software /boot 启动引导文件 — /proc /sys /dev /run 内存虚拟文件系统,不在磁盘上 — lost+found ext4 文件系统 fsck 修复碎片(有它说明 / 是 ext4) 磁盘扫描碎片 swapfile 交换文件(小内存机器用文件代替交换分区) 虚拟内存 pagefile.sys 💡 /proc 里的数字目录就是进程 PID——内核把进程信息伪装成文件给你看,cat /proc/cpuinfo 就是读 CPU 信息。 ...

2026 年 8 月 25 日