🕸️ 第三章 为Web提供支持的技术
📄 一句话概括

从下单到能打开页面,云服务器的流程基本是固定几步;新手最容易踩的坑,全在中间那几步的默认选项里。

📝 本节和前面几节的关系

3-9 讲了有哪几条路,3-11 讲了怎么选套餐,这一节把动作补齐:从点下【购买】到浏览器里能看到页面,中间到底要做哪几件事。教材这一节列举了 AWS、Azure、GCP,正是当下最主要的三个选择。

一、七步开出一台服务器

云服务器的开通流程,各家界面不同,但要做的事是同一套。

选区域决定机房位置,直接影响访问延迟;选镜像决定操作系统;选规格决定算力;配网络决定地址怎么分。

接着是三个安全相关的步骤:配安全组决定外面能敲哪扇门;配密钥决定你怎么登进去;装环境才是真正的站点上线。

顺序很有讲究:安全相关的三件事必须在上线之前做完,先上线再补安全,通常就补不上了——因为那时机器已经在被人扫描。

二、动手 Demo:七步与那扇门

流程本身不难,难在每一步的默认值。

steps = ["选区域", "选镜像", "选规格", "配网络", "配安全组", "配密钥", "装环境"]
for i, s in enumerate(steps, 1):
    print("第 %d 步:%s" % (i, s))
print("安全组:22 只允许自己、80/443 对所有人、数据库端口只允许应用服务器、其余全关")
print("三大云合计占全球云基础设施市场的 63%")

实跑输出:

--------------------------------------------------------------------
D12  创建 Web 服务器:从下单到能打开页面
--------------------------------------------------------------------

  用云服务商开一台服务器,流程基本是固定的这几步。新手最容易在中间几步踩坑。

  步骤              做什么                            新手最容易踩的坑
  ----------------------------------------------------------------------------------------
  选区域            选离用户近的机房                  选了海外区域,国内访问很慢
  选镜像            装哪种操作系统                    镜像里预装了没用的东西
  选规格            定 CPU、内存、硬盘                只图便宜,上线就跑满
  配网络            分配公网 IP、划子网               公网 IP 忘了确认,连不上
  配安全组          只开放要用的端口                  图省事全开,等于不设防
  配密钥            用密钥登录,别用密码              密码太弱,几小时就被爆破
  装环境            装 Web 服务器、传页面             忘了开自动更新与备份

  其中【安全组】这一行最值得单独看:它决定外面谁能敲到你这台机器的哪扇门。

  端口          允许的来源                为什么开
  ----------------------------------------------------------------------------
  22            只允许自己的 IP           远程登进去管理用
  80            所有人                    让用户能用 http 访问
  443           所有人                    让用户能用 https 访问
  3306          只允许应用服务器          数据库不该直接对公网开放
  其他端口      一律关闭                  用不到的门,开着就是风险

  最后是选哪一家。三家各有侧重,新手按【离用户近、文档看得懂】选就行:

    · AWS:小实例按秒计费,全球区域覆盖最全
    · Azure:与 Windows 生态配合最顺,企业客户多
    · Google Cloud:计费与折扣方式灵活,数据分析场景强
    · 三家合计占全球云基础设施市场的 63%

第二张表是这一节最该记住的部分:端口开得越少越安全。22 只允许自己的地址、80 与 443 对所有人开放、数据库端口只允许应用服务器访问、其它一律关闭。

为什么数据库端口特别重要?因为数据库一旦暴露在公网上,就会被持续扫描和尝试登录——它不是设计来直接面对互联网的。让数据库只与应用服务器说话,是最基本的一条隔离。

三、三家怎么选

AWS:区域覆盖最广、服务最全,小实例按秒计费,适合需要全球部署或需要大量周边服务的场景。

Azure:与 Windows 生态配合最顺,企业客户多,如果你的系统原本就跑在微软那一套上,迁移阻力最小。

Google Cloud:计费与折扣方式灵活,数据分析与机器学习方向强,适合以数据为核心的项目。

三家合计占全球云基础设施市场的 63%。对新手来说,按【离用户近、文档看得懂、有免费额度】来选,比纠结份额更有用——因为这三家的基础能力都足够好。

四、开完之后

服务器开出来只是拿到了工具。真正的开始是这四件事:设好自动备份、开好监控告警、配好 HTTPS 自动续期、记下服务器的公网地址与登录方式并妥善保管。

还有一件容易被忘的事:把新服务器的地址接到域名上。这一步要在域名解析里加一条 A 记录(IPv6 则是 AAAA),并用 TTL 控制好切换的节奏——这正是 3-5 讲过的东西。

最后提醒一句:开出来的每一台机器都在按小时计费。练习完记得关机或销毁,不然月底账单会替你记住这件事。

30 秒实验

  1. 注册任意一家的免费账号(多数有短期试用额度),走一遍创建实例的界面,重点看它默认开了哪些端口。
  2. 在创建流程里找【密钥对】那一步,试着下载一次密钥文件,并想清楚:丢了这把钥匙,你还能怎么进去?
  3. 试着把一台新服务器的公网地址解析到一个测试域名上,走完【解析 → 生效 → 打开页面】的完整链路。

常见误区

  1. 错误:安全组全开最省事,反正有密码。——纠正:全开等于把门拆了。公网上的扫描是持续不断的,服务暴露出去的时间以分钟计就会被发现。最小开放是成本最低、效果最直接的一条安全措施。
  2. 错误:用密码登录更好记。——纠正:密钥登录更安全,也更适合自动化。密码可以猜、可以撞库;密钥是长随机串,几乎不可能被猜中。如果一定要用密码,至少要关掉 root 直登并配上多重验证。
  3. 错误:区域随便选都差不多。——纠正:区域决定物理距离,而距离决定延迟。选在海外的机房,国内用户每次访问都要多走几千公里。选区域时先问:我的用户主要在哪。
  4. 错误:服务器开出来就一直在那儿,不花钱。——纠正:云是按使用时间计费的。开着一台闲置的机器,和跑着业务一样在扣费。练习完记得关机或销毁,并定期检查有没有被遗忘的实例。
自测三问(点开对答案) 1. 从下单到能打开页面,核心要做哪几件事? —— **选区域、选镜像、选规格、配网络、配安全组、配密钥、装环境**。其中**安全组与密钥必须在上线之前配置好**——先上线再补安全,机器通常已经在被扫描了。 2. 为什么数据库端口绝不能对公网开放? —— 因为**数据库不是设计来直接面对互联网的**,一旦暴露就会被持续扫描和尝试登录。**正确做法是只允许应用服务器访问它**,让数据库与公网之间隔着一层应用。 3. 服务器开出来之后最容易忘的两件事是什么? —— **一是把域名解析指过来**(A 记录或 AAAA 记录,并用 TTL 控制切换节奏);**二是关闭或销毁不用的实例**——云是按时间计费的,闲置的机器一样在扣钱。

相关笔记