Administrator
发布于 2026-04-23 / 5 阅读
0
0

我的个人云平台资源盘点

项目背景

手里有 4 台云服务器,分布在国内三个区域和东南亚,涵盖三家云厂商。之前一直处于"买了就吃灰"的状态,决定把它们盘活,搭建一套完整的个人云平台,同时系统性学习云计算和运维技能。

资源清单

编号

云厂商

区域

配置

定位

S1

火山引擎

华东

2C4G

主力应用服务器

S2

火山引擎

东南亚

2C2G

境外 CI/CD + 海外探测

S3

华为云

华南

2C2G

监控中心

S4

百度智能云

华北

2C2G

对外门面(已 ICP 备案)

四台机器配置都不高,但胜在分布广、厂商多,正好练习多云管理的场景。

架构设计

                    用户访问
                      │
           stulinux.icu (已备案)
                      ↓
              S4 · 对外门面
            Nginx 反代 + SSL
            博客 / 备案网站
                      │
       ┌──────────────┼──────────────┐
       ↓              ↓              ↓
  S1 · 应用层    S3 · 监控中心   S2 · 境外节点
  Docker 容器    Prometheus      CI Runner
  Portainer      Grafana         海外探测

每台服务器有明确的职责分工,避免"一台机器跑所有东西"的混乱局面。

已完成的工作

Day 1-2:环境统一

目标:四台机器形成统一可管理的资源池。

  • 创建统一的运维用户,部署 SSH 密钥实现免密登录

  • 关闭密码登录,配置 SSH 安全加固

  • 四台全部部署 fail2ban 防暴力破解(其中一台系统比较特殊,需要源码编译安装)

  • 编写 SSH config 别名,一条命令就能登录任意一台

踩坑: 其中一台的系统防火墙默认把 SSH 端口拦住了,差点把自己锁在外面。教训是改防火墙时一定要先加新规则再删旧规则

Day 3-4:容器化底座

目标:统一使用 Docker 作为应用部署基础。

  • 四台全部安装 Docker + Docker Compose

  • 国内节点配置镜像加速(境外节点直连 Docker Hub)

  • 所有节点配置日志大小限制,防止磁盘被日志撑爆

  • 部署 Portainer 实现可视化容器管理

踩坑: 其中一台国产操作系统默认仓库只有 Docker 18.x 老版本,需要手动配置 CentOS 8 仓库才能装到较新版本,而且系统的版本变量需要手动修正。

Day 5-6:防火墙与网络

目标:最小化攻击面,HTTPS 全覆盖。

  • 三家云厂商控制台配置安全组(入方向最小化)

  • 系统层配置 firewalld / ufw 双层防护

  • 通过 Nginx Proxy Manager 统一管理反向代理

  • Let's Encrypt 自动 HTTPS 证书(90 天自动续期)

  • 所有管理端口通过子域名反代访问,不直接暴露端口号

  • Cloudflare Tunnel 解决跨云厂商域名访问限制

踩坑: 域名备案绑定在 A 厂商,在 B 厂商的服务器上通过域名访问标准 Web 端口会被拦截。尝试了 Nginx 反代、Certbot DNS 验证、Cloudflare 灵活 SSL 等多种方案都失败,最终用 Cloudflare Tunnel(出站连接绕过入站端口限制)才解决。

Day 7:博客上线

目标:搭建技术博客,输出学习记录。

  • Docker Compose 部署 Halo 博客 + PostgreSQL 数据库

  • JVM 内存优化(限制堆内存,适配小内存服务器)

  • NPM 反代 + Let's Encrypt 证书

  • 也就是你正在看的这个站点!

技术栈一览

类别

技术

操作系统

Rocky Linux / Debian / EulerOS

容器化

Docker + Docker Compose + Portainer

Web 服务

Nginx Proxy Manager + Let's Encrypt

博客

Halo 2.x + PostgreSQL

安全

fail2ban + firewalld/ufw + 云安全组

DNS/CDN

Cloudflare(DNS + Tunnel)

监控

Uptime Kuma(后续会上 Prometheus + Grafana)

下一步计划

第二周:监控体系

  • S3 部署 Prometheus + Grafana,四台机器全节点接入

  • Alertmanager 配置告警推送

  • S2 部署 Blackbox Exporter 实现多地域可用性探测

第三周:自动化与 DevOps

  • Ansible 批量管理,把手动操作全部改写成 Playbook

  • Gitea + CI/CD 流水线,境外 Runner 加速构建

  • 备份策略 + 灾备演练

写在最后

这个项目的初衷是把"吃灰服务器"变成"简历亮点"。一周下来,最大的感受是:运维的核心不是会敲命令,而是理解每一层的职责和它们之间的关系——安全组和防火墙是两层独立的过滤、反向代理和后端应用各管各的事、DNS 和证书各有各的验证链路。

每一步都踩了坑,但踩坑本身就是最好的学习。后续会持续更新这个系列,欢迎关注。


评论