
模块 2.4:准备好云服务器
- 零到全栈
- April 18, 2026
Table of Contents
上一节讲的那些概念——服务器、IP、端口——这一节全部亲手体验一遍。
服务器和我们自己用的电脑,有什么不同
上一节说过,服务器本质上就是一台联网的电脑。
但它和我们桌上的电脑,还是有几处关键的不同:
不同 1:服务器有真正的公网 IP
我们用自己的电脑连上 WiFi,此时我们的电脑拿到的是路由器分配的一个内网地址,比如 192.168.1.5。就好像一个电话的内网号码,互联网上的其他人是找不到这个地址的。
这里可能会有一个疑问:既然别人找不到我的内网地址,如果我电脑上登录了微信,微信消息是怎么送到我电脑上的?
关键在于,谁先发起了连接。
你感觉自己“只是开着电脑连着网”,但微信 App 已经默默做了一件事:它一启动,就主动连接了微信的服务器,并且一直保持着这条连接不断开。
所以当朋友发消息给你,消息先到了微信的服务器,然后微信服务器顺着那条已经建好的连接把消息推过来,最终传给了你的电脑。
你体验到的是“消息自动弹出来了”,但背后的结构是:你的微信 APP 主动连出去在先,服务器沿着这条通道推消息在后。
但如果换一个场景:有人想直接“找到你的电脑”,在没有任何已有连接的情况下主动向你发起请求,这就行不通了。因为外面的人最多只知道你路由器的公网 IP,不知道你家里有几台设备,更不知道该把请求转给哪一台。
这就是内网 IP 和公网 IP 最关键的区别:
内网 IP 只能“主动出去”,不能“被陌生人主动找到”。公网 IP 两个方向都通。
网站需要的恰恰是后者,任何人在任何时候都能主动找到它。所以服务器必须有公网 IP。
不同 2:服务器可能不会配置屏幕、鼠标或键盘
我们自己用的电脑,有屏幕、有鼠标、有图形界面,而且还会带有喇叭、摄像头、麦克风等影音配置。
服务器作为电脑,当然也可以外接屏幕或鼠标、键盘、麦克风,但人们通常不会给服务器配置这些。
因为服务器在绝大多数时间内只需要保持开机联网,并稳定向请求者持续提供服务。人们对它的要求是稳定、方便摆放在机架上。

没有显示器,也没有键盘鼠标,我们如何操控服务器呢?
我们自然可以走进机房,给它插上显示器、键盘来操作它,但更多时候我们操控服务器的方式,是通过网络远程登录进去,用终端和命令来操作。
不同 3:它需要一直开着
你自己用的电脑,用完可以关机。
服务器不行。网站需要随时能被访问,所以正常情况服务器必须一直运行,24 小时不间断。
不同 4:绝大部分服务器操作系统是 Linux,没有图形界面
个人电脑的操作系统,绝大多数跑的是 Windows 或者 macOS,有桌面和窗口。但在服务器领域,Linux 系统是绝对的主流。
服务器上运行的 Linux 没有图形界面,只有终端。这也是这门课在前面花时间讲终端和命令行的原因。
在云平台上,去租一台云服务器
对于上述四项不同点,后三项还可以忍,但没有 公网 IP 就没办法把我们的作品分享出去。
后面我们的课程会带领大家真正制作并发布一款产品,所以我们的方案是真正地租一台云服务器,来获得公网 IP。
有许多云厂商提供了云服务器租赁服务,但它们往往都不是免费的。
“云服务器”的意思是:一些厂商已经组建好了网络、服务器,并分成不同的配置租给用户使用。云厂商帮你管理硬件,你按时间或配置付费,拿到一台可以远程登录并操作的 Linux 机器。
这里不对云厂商做推荐,腾讯云、阿里云、火山引擎、华为云、天翼云等等都可以,建议你选择购买流程最顺畅、价格最优惠的那一家。
我目前在用的一台阿里云服务器价格是 99 元/年,是
双 11时租的,配置是 2 核 2G,也支持每年按这个价格续费,这个价格供你参考。
购买时,抓住这几个点就够了:
- 买的是服务器(可以是云服务器或轻量应用服务器),不是对象存储、数据库、CDN 之类的其他产品
- 操作系统选 Ubuntu(原因见下一条)
- 配置从最低档开始,最便宜的那种就够用
- 确认机器有公网 IP
为什么选 Ubuntu
Linux 有很多发行版。这门课选 Ubuntu,原因只有一个:
它在初学者环境里最常见,资料最多,后面的命令和安装过程最容易对齐。
在你还没有足够 Linux 直觉之前,用 Ubuntu 最省事。
有一个需要注意的是,当选择 Ubuntu 的时候还需要你选择具体版本号,例如 24.04 LTS、22.04 LTS 等,2026 年之后可能还会出现 26.04 LTS,你选择哪一项都行。这里建议选择的是 24.04 LTS,它不会太新,也绝对不旧。
买完以后,你会拿到什么
购买成功后,你就具备了一台云服务器的控制权。云厂商通常会给你几样信息:
- 公网 IP 地址
- 登录用户名(通常是
ubuntu或root) - 登录密码
一般情况下,第一次使用,你需要设置一个密码。
也可以点击重置密码的按钮来设置密码(可能设置之后需要重启才能生效),设置时请记住用户名和密码。

如果你已经有了 公网 IP 地址、用户名、密码 这三个关键信息,那么你已经走完了非常关键的步骤。
最后我们还需要关注一下防火墙(有些云厂商把它叫做“网络与安全组”)。
点击防火墙,进入防火墙页面查看目前开放的端口有哪些。我们目前至少需要确保 22 端口是开放的(一般情况下,22 端口会是开放的)。
至于为什么是 22 端口,我们马上就会讲。
用 SSH 连上这台服务器
我们要介绍一个新的终端命令了,那就是 SSH,它是登录远程 Linux 服务器的标准方式。
具体用法是在你自己电脑的终端里,输入:
ssh 用户名@服务器公网IP
比如:
ssh ubuntu@123.45.67.89
此前我们讲端口的时候,说过不同的服务会使用不同的端口,SSH 作为一个远程登录服务,它默认监听的就是 22 端口,所以我们需要确保 22 端口开放。
第一次连接时,终端会问你要不要信任这台机器,输入 yes 然后按回车。
接着输入密码(输入时屏幕上不会显示任何字符,这是正常的),按回车。
此处需注意,虽然常规流程是
ssh命令之后直接输入密码,但有些云厂商(比如腾讯云)可能会通过终端发送一个二维码要你扫码确认。遇到这种情况就根据提示来操作即可。
如果登录成功,你会看到终端的提示符变了,变成类似这样的样子:
ubuntu@your-server:~$
这一刻一定要停下来感受一下:
你现在操控的,已经不是你眼前这台电脑,而是网络另一端的一台 Linux 服务器。
先在服务器上执行几条熟悉的命令
登录进去之后,先执行几条你已经熟悉的命令,确认一下自己真的在另一台机器上:
pwd
你会看到当前目录,通常是 /home/ubuntu 或者 /root(这取决于你用什么用户名登录)。
ls
第一次登录一台新的服务器时,用 ls 命令查看家目录下的文件,会发现家目录中什么都没有。
可以试试进入根目录:
cd /
ls
进入根目录后,你会看到一个标准的 Linux 目录结构:
bin boot dev etc home lib media mnt opt proc root run sbin srv sys tmp usr var
这和你本地的 macOS 或 Windows 目录结构差别很大。
这很正常,因为这本来就是另一台机器,跑着另一套操作系统。
到这里,“服务器就是另一台电脑”这件事,已经不再是概念了。
用 apt 在服务器上安装 Nginx
如果想要让服务器提供网页服务,我们还需要安装一个软件,这个软件的职责将会是:
- 持续监听 80 端口
- 如果有用户请求 80 端口,那么就返回相应的内容
有许多软件可以做这类事情,而今天我们介绍的是 Nginx,它非常擅长处理这类工作。
Nginx 能够做到的事情绝不止有监听端口并返回内容,它可以做许多事情。比如它可以记录每一次用户请求日志、给用户请求分类并分别处理、限制危险请求等。你了解即可,我们不做展开。
接下来,进入安装环节。
先更新软件包列表,再安装 Nginx:
sudo apt update
sudo apt install nginx -y
以
sudo开头的命令在执行的时候,会要求你提供密码,这个密码就是你登录的时候用的密码。
这里两个新命令:
sudo:以更高权限执行命令(类似 Windows 上的“以管理员身份运行”)apt:Ubuntu 上的软件安装工具,类似 macOS 上的 Homebrew
安装完成后,确认 Nginx 已经在运行:
systemctl status nginx
如果看到输出里有这一行:
Active: active (running)
说明 Nginx 已经启动,正持续监听用户请求。
确认 80 端口开放,用 IP 地址访问默认页面
Nginx 启动后,它默认监听的是 80 端口,也就是普通 HTTP 请求的标准端口。
所以在我们从浏览器访问它之前,还需要确认一件事:
云服务器的防火墙(或安全组)有没有放行 80 端口的入站流量。
这个设置不在服务器里,而在云平台的控制台里。
还记得前面学习 SSH 的时候,我们在哪里去查看 22 端口是否开放吗?
在云平台找到你的服务器实例,进入安全组或防火墙配置,确认 TCP 80 端口是对外开放的。
做好之后,打开你自己电脑上的浏览器,访问下面这个地址,应该就可以看到 Nginx 的默认欢迎页:
http://你的服务器公网IP

如果看到 Nginx 的默认欢迎页面,说明:
- Nginx 正在运行
- 80 端口已经开放
- 你的浏览器正在通过公网 IP 访问另一台电脑上提供的网页内容
上一节讲的整条链路,在这里第一次真实地发生了:
浏览器 → IP 地址 → 服务器 → 80 端口 → Nginx → 返回页面内容 → 浏览器显示
通过配置文件找到 Nginx 的默认页面
上一步我们访问到的浏览器里那个 Nginx 默认页面,背后也是对应着服务器上的一个 HTML 文件。
但这个文件放在哪里?
不用猜,去看 Nginx 的配置文件:
cat /etc/nginx/sites-available/default
终端会打印出一大段配置。不需要全看懂,只需要找到这一行:
root /var/www/html;
这行配置的意思就是:
Nginx 会去
/var/www/html这个目录里找网页文件来提供给浏览器。
顺着这个路径,进去看看:
cd /var/www/html
ls
你会看到一个文件,通常叫:
index.nginx-debian.html
这就是刚才浏览器里默认页面对应的源文件。
用 cat 看一眼它的内容:
cat index.nginx-debian.html
终端会打印出一大段 HTML。你不需要看懂它,只需要确认一件事:
浏览器里的那个网页,背后真的对应着服务器上的一个 HTML 文件。
文件在哪里、内容是什么,全都可以找到、可以查看,服务器不是黑盒。
用 Vim 修改这个文件,刷新浏览器看变化
既然这个网页就是一个真实存在的 HTML 文件,那么我们稍微改一改,起步就是改了这个网页吗?
没错,现在我们尝试亲手改一次这个文件,在浏览器里验证结果。
上一节学过生存级 Vim,现在就用上了:
sudo vim /var/www/html/index.nginx-debian.html
进去之后:
- 按
i进入编辑模式 - 找到页面里最显眼的一行英文,改成任意一句你自己写的话
- 按
Esc退出编辑模式 - 输入
:wq保存并退出 - 按回车
改完后,回到浏览器,刷新页面。
如果你看到了自己刚才写的那句话,这一节就真正完成了。
你刚刚走完的,是这样一条完整的链路:
- SSH 登录远程服务器
- 找到 Nginx 配置,顺着
root路径找到页面源文件 - 用 Vim 修改文件内容
- Nginx 继续对外提供这个文件
- 浏览器刷新,公网页面内容发生了变化
这一节最常见的卡点
SSH 连不上
优先检查:用户名是否正确(不一定是 ubuntu,以云平台给的为准);密码是否输入正确;服务器是否已经启动完成;云平台控制台里,安全组或防火墙是否放行了 22 端口。
浏览器打不开 IP 地址
优先检查:云平台控制台里,安全组或防火墙是否放行了 TCP 80 端口的入站流量。这一步很多人会漏掉。
Nginx 状态不是 active (running)
重新执行 sudo apt install nginx -y,或者执行 sudo systemctl start nginx。
Vim 改了文件,浏览器刷新没有变化
先确认 Vim 真的保存成功了:是否按了 Esc,是否输入了 :wq,是否按了回车。如果不确定,重新进去改一次。
这一节结束时,你应该做到什么
- 知道服务器和个人电脑的几处关键不同
- 自己购买了一台云服务器,拿到了公网 IP
- 能用
ssh登录服务器 - 能在服务器上执行
pwd、ls、cd等熟悉的命令 - 能安装 Nginx,并确认它处于
active (running)状态 - 能通过公网 IP 在浏览器里访问到 Nginx 默认页面
- 能通过 Nginx 配置找到默认页面对应的源文件
- 能用 Vim 修改这个文件,并在浏览器里看到变化