本文目录 ↓

WIKI/vibe coding扫盲

服务器是什么

What Is a Server?

上一篇,我们把“打开一个网页”拆成了七八步。这一篇,换一个问题:

如果你写了一个程序——哪怕是让 AI 帮你写的——怎么让别人也用上?

比如你做了个网页,或者一个小工具,在自己电脑上跑得挺好。然后呢?把文件发给同学?发文件只对单机能跑的程序有用。如果它是一个网页、一个机器人,它就得“一直开着、连着网”,别人才随时能用。这一篇就来讲:这个“一直开着、连着网”的东西到底是什么,从哪弄。

一

先从最朴素的想法开始:程序就跑在我自己的电脑上,让别人来访问我,不就行了?

顺着这条路想下去,你会发现你的电脑得同时满足好几个条件:

我写了一个程序
 ↓
别人要能用它
 ↓
程序得一直运行
 ↓
得有一台一直开机的电脑
 ↓
这台电脑得一直连着网络
 ↓
别人得能在网络中找到它
 ↓
需要公网 IP

一个一个看:

  • 一直开机:你的笔记本要合盖、要关机、要带去教室,做不到 24 小时待命。
  • 网络一直稳定:宿舍和家里的网络,撑不起给别人提供服务。
  • 公网 IP:这是最要命的一条。上一篇说过,别人要访问你,得先找到你的 IP。但家庭宽带通常不会给你一个真正的公网 IP——你自己“上网”没问题,但别人想“主动来找你”,基本找不到。

三条全过不了关,朴素想法行不通——但你注意到没有:刚才这一路,其实是从目标反推条件。“别人要用我的程序”这一个目标,被拆成了“一直开机、网络稳定、公网 IP”一串条件。记住这个过程,结尾我们还会回到它。

解决思路也自然浮出来了:既然我的电脑不行,那就找一台行的电脑。这种专门一直开机、连着网络、等着别人来访问的计算机,就叫:服务器。

顺便说一句:服务器和你的笔记本电脑之间,本质上没有鸿沟。你这台笔记本,理论上也可以是服务器——差别不在机器本身,而在它承担的角色。另外,这一篇只讲单台服务器;大网站背后动辄成千上万台的集群,是以后的话题。

二

那去哪弄一台这样的电脑?自己买一台放家里?听起来可以,但现实里,绝大多数服务器住在数据中心:专门的机房,恒温恒湿、备用电源、海量带宽。你在云服务商(阿里云、腾讯云……)官网上看到的“云服务器”,就是从这些机房里“切”出来租给你的。

怎么切?靠虚拟化:把一台物理服务器的一部分 CPU、内存、硬盘划分出来,包装成一台看起来完整的电脑,交给你用:

物理服务器
│
├── 云服务器 A
│   ├── 2 核 CPU
│   └── 4 GB 内存
│
├── 云服务器 B
│
└── 云服务器 C

一台物理机,被切成了好几台“云服务器”,每台都以为自己是一台独立的电脑。有点像合租:一栋楼是真实的,但你租的是其中一个带独立门锁的房间——上一篇的大楼和房间,在这里又出现了。

顺手把树状图里那几个配置也讲了吧——2 核 CPU、4 GB 内存是什么意思?以后你看任何电脑、手机、云服务器的配置,翻来覆去都是这几样:

  • CPU(几核):干活的脑子。核数越多,同时能干的事越多。你的程序要计算、要处理请求,全靠它。
  • 内存(几 G):干活时的桌面。程序运行时,数据就摊在内存这块“桌面”上;内存越大,同时摊开的活越多。内存不够时,系统只能频繁把东西搬去硬盘腾地方,速度会骤降——跑数据库、同时开很多服务时,最先爆的就是它。
  • 硬盘(多少 GB / TB):仓库。代码、文件、数据库都存在这里。分机械硬盘和固态硬盘(SSD),固态快得多,现在云服务器基本都给 SSD。
  • 带宽(几 Mbps):大门的宽度。上一篇说过,服务器返回的数据要经过网络传到你这里;带宽决定了同一时间能进出多少数据。带宽小,网页加载就慢,图片视频多的网站尤其明显。

一句话总结:**CPU 决定算得多快,内存决定同时摊开多少活,硬盘决定装下多少东西,带宽决定数据进出的大门有多宽。**所以选配置不是越大越好,而是看你要跑的东西“吃”哪一样:个人博客和机器人,2 核 2G 绰绰有余;数据库吃内存,文件站吃硬盘,图多的网站吃带宽。

买下一台云服务器,你会得到三样东西:一台“电脑”(虽然是虚拟出来的,但用起来和真电脑没有区别)、一个公网 IP(别人终于能找到你了)、以及按月付的账单。

购买的时候还会让你选操作系统:Ubuntu、Debian……这些名字你可能有点印象——它们都是 Linux 系统,也是下一篇的主角。

三

机器有了,下一个问题马上出现:这台电脑在千里之外的机房里,没有显示器,没有鼠标,你怎么控制它?

总不能坐高铁去机房插键盘。答案是:SSH(Secure Shell)。你在自己电脑上打开一个终端,输入一条命令,回车之后,你敲的每一条命令,都变成了在那台远端电脑上执行:

ssh root@你的服务器IP

登录成功之后,输入 date,看到的是那台服务器的时间;输入 ls,列出的是那台服务器上的文件。人坐在宿舍,机器可能在贵州,也可能在另一个大洲。这一篇你只需要记住一句话:你可以通过命令,远程控制另一台计算机。

至于“命令行”本身是怎么回事、这些命令怎么用,是下一篇(Linux)的内容,这里先混个脸熟。

四

那么,一台云服务器能干什么?常见的用法:

  • 个人网站 / 博客;
  • Minecraft 服务器(和室友联机);
  • 文件服务器 / NAS;
  • API 后端(以后 AI 帮你写的程序,经常需要一个后端跑着);
  • 数据库;
  • 聊天机器人;
  • 在线代码服务、AI 服务……

还记得上一篇说过的吗:一台服务器上可以同时运行很多程序,靠端口区分。所以这些不是“选一个”——一台 2 核 2G 的小服务器,同时跑个网站加个机器人,完全没问题。

五

最后是最实际的问题:去哪里弄?按花钱程度从低到高过一遍。

先不花钱:静态网页托管。 GitHub Pages 和 Cloudflare Pages 可以免费发布静态网站,适合作品集、课程主页。但注意两点:它们只是“网页托管”,不能跑 Node.js、Python 这类后端程序;Cloudflare 的 pages.dev 域名在中国大陆无法访问,正式分享前用校园网和手机流量各试一遍。

零元要完整的虚拟机。 Oracle、微软、Google 这些海外云厂商都有长期的免费层或学生额度(比如 Oracle 的 Always Free、Azure 的学生订阅),顺利的话可以零成本拿到一台真正的虚拟机。但要接受几件事:条款随时会变、闲置实例可能被回收、大陆访问的体验也一般。所以这类“白嫖”适合练手和做实验,不适合放需要长期稳定在线的项目。具体规则以各家官网为准。

学生价 / 低价。 国内云厂商都有面向学生的优惠:阿里云、腾讯云都有学生机或校园套餐,通常需要学生认证、限购一台,价格认证后才看得到。不符合学生条件的话,各家也都有入门款(比如腾讯云的轻量服务器 Lighthouse)。这类入门机器的配置大多在 2 核 2G 上下——对照第二节那张清单,个人博客、机器人这些用途完全够用。各家的价格和活动随时会变,下单前以官网为准,并核对 CPU、内存、磁盘和流量的具体配置,别只看“2核2G”。

如果让我直接给建议:只做个人主页、作品集,先用 GitHub Pages,零成本还能顺便练 Git;想练 SSH、Linux、部署后端,最省心的入口是一台学生价云服务器。

另外一件事务必知道:如果你的网站放在中国大陆的机房并对公众提供访问,上线前需要办理 ICP 备案——这是工信部的规定,不是云厂商的刁难。选香港或海外机房则不需要备案,但大陆访问速度会打折扣。

六

现在回头看看第一节的那条链:

别人要用我的程序 → 程序得一直运行 → 得有电脑一直开机 → 得连网络 → 得有公网 IP → 于是,需要服务器。

没有人一开始就想买服务器,是目标一步一步逼出来的。这就是这一篇真正想留给你的一句话:

从目标出发,反推实现目标需要什么。

这个思维不挑领域:想做成任何一件事,都可以先问“它需要什么条件,这些条件又需要什么”——一路问下去,路线图自己会浮出来。下一篇,我们就 SSH 进那台没有显示器的电脑,看看里面到底是什么:Linux。

END OF NOTE.浏览全部文档 ↗

输入关键词,搜索文档标题与正文。

搜索整个知识库↑ ↓ 选择 · ENTER 打开