🌐 网站部署术语表

随课程进度持续更新。术语仅在理解后收录。

基础概念

网络DNS(Domain Name System)
域名解析系统,将人类可读的域名(如 example.com)转换为机器可读的 IP 地址。核心记录类型:A(域名→IPv4)、AAAA(域名→IPv6)、CNAME(域名→另一个域名)、MX(邮件路由)。
Cloudflare DNS 详解 →
网络A 记录 / AAAA 记录
A 记录将域名指向一个 IPv4 地址;AAAA 记录指向 IPv6 地址。这是最基础的 DNS 记录类型——告诉浏览器"这个域名对应哪台服务器"。
网络CNAME 记录
将一个域名别名到另一个域名。如 www.example.comexample.com。CNAME 不能与 MX 等其他记录共存于同一名称。
网络反向代理(Reverse Proxy)
服务器端代理——接收客户端请求,转发给后端服务,再将响应返回客户端。Nginx 最常见的用途之一。可实现负载均衡、缓存、SSL 卸载等。
Nginx 反向代理文档 →
网络端口(Port)
计算机上不同网络服务的"门牌号"。常见端口:22(SSH)、80(HTTP)、443(HTTPS)、3306(MySQL)、5432(PostgreSQL)、6379(Redis)。防火墙通过控制端口来放行或阻止流量。
协议HTTP / HTTPS
超文本传输协议,客户端与服务器通信的规则。HTTPS = HTTP + SSL/TLS 加密。现代网站必须使用 HTTPS,否则浏览器会标记为"不安全"。
协议SSL / TLS
传输层安全协议,为网络通信提供加密和身份验证。SSL 是旧称(已废弃),TLS 是标准协议。日常仍混用"SSL 证书"这个说法,实际都是 TLS 证书。
协议SNI(Server Name Indication)
TLS 扩展,允许在同一个 IP 和端口上托管多个 HTTPS 站点。Nginx 通过 server_name 指令配合 SNI 实现多站点共用一个 IP。

部署方式

部署裸机部署(Bare Metal)
直接在物理服务器上部署应用,不经过虚拟化层。性能最好,但管理和扩展最复杂。小团队通常从云服务器(等同于虚拟裸机)开始。
部署容器化(Containerization)
将应用及其依赖打包在一个标准化的容器中运行。与虚拟机不同,容器共享宿主机内核,启动快、资源占用小。Docker 是目前最主流的容器引擎。
部署CI / CD
持续集成(Continuous Integration)和持续部署/交付(Continuous Deployment/Delivery)。CI 指频繁合并代码并自动构建测试;CD 指将通过测试的代码自动部署到生产环境。
部署蓝绿部署(Blue-Green Deployment)
维护两套相同的生产环境(蓝/绿),一套运行当前版本,一套部署新版本。测试通过后切换流量,实现零停机发布。
部署PaaS(Platform as a Service)
平台即服务——不需要管理服务器和操作系统,只需把代码推上去,平台自动运行。典型例子:Heroku、Vercel、Railway。

工具与组件

服务Nginx
高性能 Web 服务器和反向代理服务器。以其高并发能力、低内存占用、灵活的配置而成为部署中最常用的 Web 服务器。
Nginx 官方文档 →
工具Docker
容器引擎,将应用及其依赖打包为可移植的镜像。Dockerfile 定义构建过程,Docker Compose 定义多容器编排。
Docker 官方文档 →
工具Docker Compose
用 YAML 文件定义和运行多容器 Docker 应用的工具。一条 docker compose up 命令即可启动整个服务栈。
工具Systemd
Linux 的系统和服务管理器。几乎所有现代 Linux 发行版都用它来管理进程。通过 .service 单元文件定义应用如何启动、重启、记录日志。
工具PM2
Node.js 进程管理器,提供进程守护、负载均衡、自动重启、日志管理等功能。适合 Node.js 应用的生产环境部署。
工具UFW(Uncomplicated Firewall)
Ubuntu 内置的防火墙管理工具,基于 iptables 的简化前端。ufw allow 80/tcp 一行命令即可放行 HTTP 流量。
UFW 文档 →
工具GitHub Actions
GitHub 内建的 CI/CD 平台。通过在仓库中放置 .github/workflows/*.yml 文件定义自动化流水线。
GitHub Actions 文档 →
工具Certbot
Let's Encrypt 的官方客户端,自动化获取和续期 SSL 证书。一条命令即可为 Nginx 配置 HTTPS。
Certbot 官网 →
工具Fail2ban
入侵防御工具,监控日志文件中的恶意行为(如反复失败的 SSH 登录),自动封禁攻击者 IP。

安全概念

安全SSH 密钥对
公钥加密的登录方式,比密码更安全。用户持有私钥(~/.ssh/id_rsa),服务器存储公钥(~/.ssh/authorized_keys)。连接时用私钥签名验证身份。
安全安全组(Security Group)
云服务商提供的虚拟防火墙。在实例级别控制入站和出站流量。配置规则如"只允许我的 IP 访问 22 端口"。
阿里云安全组文档 →
安全HSTS(HTTP Strict Transport Security)
告诉浏览器:以后只能通过 HTTPS 访问这个网站,即使你输入了 http:// 也要自动升级。防止 SSL Strip 攻击。
安全OCSP Stapling
Web 服务器主动从 CA 获取证书吊销状态并"订书钉"到 TLS 握手响应中,避免客户端自己去查,提升 HTTPS 性能同时保护隐私。
安全备份策略(3-2-1 原则)
行业标准备份策略:保留 3 份数据副本,存储在 2 种不同的介质上,其中 1 份放在异地。确保任何单一故障都不会导致数据丢失。

网络状态码速查

状态码含义部署中常见原因
200OK — 请求成功一切正常
301/302重定向HTTP→HTTPS 跳转、域名跳转
403Forbidden — 禁止访问防火墙拦截、目录权限错误、Nginx deny 规则
404Not Found — 找不到资源文件路径不对、反向代理后端未启动
502Bad Gateway — 网关错误上游后端未运行、端口写错、防火墙拦了后端端口
503Service Unavailable服务过载、维护中、Docker 容器挂了
504Gateway Timeout后端响应超时、数据库慢查询