编辑模式 · 点击文字即可修改 · Ctrl+S 导出 再次按 E 或点击左上角退出
模块 2.4

服务器、SSH和Nginx实战

租一台云服务器,装上 Nginx,把第一个公网页面跑起来

零到全栈 · 李勃老师 · 2026

上一节讲的那些概念
服务器、IP、端口
这一节全部亲手体验一遍

这一节结束时,你会拥有一台属于自己的云服务器,并在浏览器里通过公网 IP 访问到你亲手修改过的网页。

BUY A CLOUD SERVER

在云平台上租一台云服务器

01 买的是服务器,不是对象存储、网络、CDN,也不是什么 AI 模型
02 珍惜新用户资格,云厂商一般都会给新用户优惠
03 重点关注 CPU 核数、内存大小和带宽,再比较价格
04 按年租用,并且关注第二年的续费价格
05 计费类型选包年包月,不要选按量计费
06 服务器所在地区可以任意选,差别通常不大
07 创建方式选基于操作系统镜像,不要选应用模版或容器
08 操作系统选 Ubuntu 24.04 LTS (2026年5月的建议)

入门练习优先从最低档配置开始。2核2G通常已经足够完成本课程的全部实践。

WHY LINUX · WHY UBUNTU

为什么这门课选择 Linux,也选择 Ubuntu

为什么是 Linux
服务器世界里,Linux 才是主流
  • Linux 在服务器操作系统领域占比过半
  • 服务器软件对 Linux 友好
  • Linux 开源免费,Windows 需要购买授权
为什么是 Ubuntu
它是入门阶段最省事的选择
  • 对初学者友好,文档和社区资源最丰富
  • 主流云服务器厂商均提供 Ubuntu 选项
  • 提供长期支持,适合生产环境

常见发行版:Ubuntu、Debian、CentOS、Alpine

AFTER PURCHASE

买完以后,你会拿到三样关键信息

三样信息,缺一不可
公网 IP 地址 123.45.67.89 登录用户名 ubuntu (或 root) 登录密码 你自己设置的密码

第一次使用通常需要自己设置密码,或在云平台控制台点击"重置密码",设置后可能需要重启才能生效。

还需要确认防火墙
确保 22 端口是开放的

在云平台控制台找到防火墙(有些厂商叫"安全组"),查看已开放的端口列表,确认 TCP 22 端口是开放的。

一般情况下,22 端口默认就是开放的。至于为什么是 22——马上就会讲。

SSH

用 SSH 登录这台服务器

在你自己电脑的终端里输入
# 命令格式 ssh 用户名@服务器公网IP # 实际示例 ssh ubuntu@123.45.67.89

SSH 是登录远程 Linux 服务器的标准方式,它默认使用 22 端口——这就是为什么要确认 22 端口开放。

连接时会发生什么
  • 第一次连接:终端会问你是否信任这台机器,输入 yes 回车
  • 输入密码:屏幕上不会显示任何字符,这是正常的,盲打完按回车
  • 部分云厂商(如腾讯云)可能会发送二维码要求扫码确认,按提示操作即可
  • 登录成功后,终端提示符会变成:ubuntu@your-server:~$
FEEL IT

这一刻停下来感受一下:
你现在操控的,已经不是你眼前这台电脑,
而是网络另一端的一台 Linux 服务器

# 执行几条熟悉的命令,确认你真的在另一台机器上 pwd # → /home/ubuntu 或 /root ls # → 家目录里什么都没有(全新的机器) cd / # 进入根目录 ls # → bin boot dev etc home lib usr var ...

这个目录结构和你本地的 macOS / Windows 差别很大——因为这本来就是另一台机器,跑着另一套操作系统。"服务器就是另一台电脑",到这里不再是概念了。

INSTALL NGINX

用 apt 在服务器上安装 Nginx

Nginx 是什么,做什么
持续监听 80 端口,返回网页内容
  • 有用户请求进来时,读取对应的 html 文件,返回给浏览器
  • 记录每一次请求的日志
  • 处理多个不同网站的请求(虚拟主机)

Nginx 是目前最流行的 Web 服务器之一,部署简单,性能极好。

安装命令
# 更新软件包列表 sudo apt update # 安装 Nginx sudo apt install nginx -y # 确认 Nginx 正在运行 systemctl status nginx

看到 Active: active (running) 说明 Nginx 已经启动,正持续监听请求。sudo = 以管理员权限执行。

PORT 80 + ACCESS

开放 80 端口,用公网 IP 访问默认页面

第一步:在云平台控制台放行 80 端口
防火墙里确认 TCP 80 入站已开放

Nginx 默认监听 80 端口,但流量能不能进来,由云平台的防火墙(安全组)决定。在控制台里找到防火墙配置,添加或确认 TCP 80 端口对外开放。

这一步很多人会漏掉——浏览器打不开时,优先检查这里。

第二步:用浏览器访问
http://你的服务器公网IP

如果看到 Nginx 的默认欢迎页面,说明三件事都已确认:

  • Nginx 正在运行
  • 80 端口已经开放
  • 浏览器正在通过公网 IP 访问另一台电脑上的网页内容
THE CHAIN IS REAL NOW

上一节讲的整条链路,在这里第一次真实地发生了

浏览器
输入公网 IP,发起请求
IP 地址
定位到目标服务器
服务器
你刚才租的那台云机器
80 端口
防火墙已放行,进入
Nginx
处理请求,读取页面文件
返回内容
html 文件作为响应发出
浏览器显示
你看到的 Nginx 默认页面

这条链路在你点击回车的那一刻完成,耗时通常不到 1 秒。

WHERE ARE THE FILES

Nginx 把文件放在哪里?先理解 Linux 的目录约定

Linux 目录是有规律的
软件装完,文件去哪里由约定决定
/usr/bin/ # 可执行程序 /etc/ # 各软件的配置文件 /var/www/ # 网站文件 /var/log/ # 日志文件

所以 Nginx 的配置在 /etc/nginx/,不是随意放的——这是 Linux 世界里所有软件共同遵守的约定。以后遇到其他软件(MySQL、SSH),也可以先去 /etc/ 下找配置。

sites-available/ 是 Ubuntu 版 Nginx 的特有设计
草稿箱 vs 已生效
  • sites-available/ 存放写好的站点配置,但不一定生效——相当于草稿箱
  • sites-enabled/ 存放实际生效的配置,通常是指向前者的软链接
  • 想暂停一个站点,不用删配置文件,只需删掉软链接即可

现在去看 /etc/nginx/sites-available/default,里面会告诉我们网站文件放在哪里——顺着这条线索,就能找到默认页面对应的 HTML 文件。

FIND IT · EDIT IT · VERIFY

找到源文件,改一行内容,刷新浏览器验证

顺着 Nginx 配置找到源文件
# 查看 Nginx 配置 cat /etc/nginx/sites-available/default # 找到这一行:root /var/www/html; # 进入这个目录 cd /var/www/html ls # 看到:index.nginx-debian.html # 确认它就是默认页面的源文件 cat index.nginx-debian.html
用 Vim 改内容,刷新浏览器
sudo vim /var/www/html/index.nginx-debian.html # 进去后: # 1. 按 i 进入编辑模式 # 2. 找到最显眼的一行英文,改掉 # 3. 按 Esc 退出编辑模式 # 4. 输入 :wq 保存并退出 # 5. 按回车

保存后回到浏览器,刷新页面——如果你看到了自己写的那句话,这一节就真正完成了。

COMMON PITFALLS

最常见的四个卡点

SSH 连不上 — 依次检查:用户名是否正确(以云平台给的为准)、密码是否正确、服务器是否已启动完成、安全组是否放行了 22 端口。
浏览器打不开 IP 地址 — 优先检查:云平台安全组或防火墙是否放行了 TCP 80 端口的入站流量。这一步很多人会漏掉。
Nginx 状态不是 active (running) — 重新执行 sudo apt install nginx -y,或执行 sudo systemctl start nginx
Vim 改了文件,浏览器刷新没有变化 — 确认 Vim 真的保存成功了:是否按了 Esc,是否输入了 :wq,是否按了回车。如果不确定,重新进去改一次。
CHECKPOINT

学完这节,你应该能做到

知道该如何选购一台适合入门实践的云服务器
自己购买了一台云服务器,拿到了公网 IP、用户名和密码
能用 ssh 登录服务器
能在服务器上执行 pwdlscd 等熟悉的命令
能安装 Nginx,并确认它处于 active (running) 状态
能通过公网 IP 在浏览器里访问到 Nginx 默认页面
能通过 Nginx 配置找到默认页面对应的源文件
能用 Vim 修改这个文件,并在浏览器里看到变化
零到全栈

你已经在互联网上部署了第一个公网页面
这是全栈路径真正开始的地方。

接下来进入模块 3,我们开始学前端基础——真正开始写属于自己的页面。

零到全栈 · 模块 2.4 完