Nginx(2004)
关键词:网关、反向代理
一、Nginx 是什么?
1.1 官方定义
Nginx 是一个高性能 Web 服务器、反向代理服务器、负载均衡器。
翻译成人话:
Nginx 是一个:
- 🌐 网站服务器(放网页)
- 🚦 流量调度员(转发请求)
- ⚖ 负载均衡器(分流给多台服务器)
- 🛡 网关(挡攻击、限流)
1.2 为什么会有 Nginx?
早期互联网用的是 Apache:
- 一个请求一个进程
- 并发一高 → 服务器爆炸
- 内存占用巨大
2004 年,俄罗斯工程师 Igor Sysoev 发明 Nginx:
- 专门解决: 👉 高并发、低内存、稳定运行
现在全球:
- 超过 50% 网站在用 Nginx
- 微信、阿里、B 站、抖音 都在用
二、Nginx 能干什么?(核心功能)
2.1 Web 服务器
托管网站:
浏览器 → Nginx → 返回 HTML 页面比如:
- 公司官网
- 后台管理系统
- H5 页面
2.2 反向代理(最重要)
什么是代理?
你访问:
www.company.com实际:
Nginx → 后端服务(Go/Java/Python)你永远只看到 Nginx,看不到真实服务器。
作用:
- 隐藏后端
- 统一入口
- 更安全
2.3 负载均衡
如果你有 3 台后端服务器:
用户请求 → Nginx
↙ ↘ ↘
server1 server2 server3方式:
- 轮询
- 权重
- 按 IP
- 最少连接数
2.4 静态资源服务器
Nginx 特别适合:
- 图片
- CSS
- JS
- 视频
比后端程序快很多。
2.5 HTTPS 证书管理
Nginx 可以:
- 安装 SSL 证书
- 把 http → https
- 加密通信
2.6 安全防护
- 限流(防刷接口)
- IP 黑名单
- 防止暴力请求
- 防爬虫
三、Nginx 的工作原理(核心思想)
3.1 事件驱动模型(非常重要)
Apache:
一个请求一个进程(重)
Nginx:
一个进程处理成千上万请求(轻)
原理:
- 非阻塞 IO
- epoll 机制
- 异步事件循环
就像:
一个服务员服务 100 桌,而不是 100 个服务员服务 100 桌
3.2 架构
Master + Worker
Master 进程
|
Worker1 Worker2 Worker3- Master:管理
- Worker:处理请求
特点:
- 稳定
- 高并发
- 崩一个 Worker 不影响其他
四、Nginx 的组成结构
4.1 核心模块
| 模块 | 作用 |
|---|---|
| http | 网站服务 |
| stream | TCP 代理 |
| 邮件代理 | |
| events | 并发处理 |
4.2 配置文件结构
默认路径:
/etc/nginx/nginx.conf基本结构:
nginx
worker_processes auto;
events {
worker_connections 1024;
}
http {
server {
listen 80;
server_name example.com;
location / {
root /var/www/html;
index index.html;
}
}
}你要理解:
- server = 一个网站
- location = 一个路由规则
五、Nginx 的核心应用场景
场景 1:公司官网
浏览器 → Nginx → 返回页面场景 2:前后端分离
前端请求 → Nginx → 后端 API场景 3:多服务统一入口
/api → 后端服务A
/admin → 后端服务B场景 4:高可用
- 多台服务器
- Nginx 做入口
- 一台挂了继续服务
六、Nginx 与 Docker / K8S 的关系
6.1 Nginx + Docker
Nginx 可以作为容器:
docker run -d -p 80:80 nginx用来:
- 统一入口
- 反向代理多个容器
6.2 Nginx + K8S
在 K8S 中:
- Nginx = Ingress Controller
- 管理集群流量入口
七、Nginx 运维核心能力(你最需要)
7.1 服务启动/停止
bash
systemctl start nginx
systemctl stop nginx
systemctl restart nginx
systemctl status nginx7.2 开机自启
bash
systemctl enable nginx7.3 崩溃自动恢复(守护)
结合:
- systemd
- Docker restart=always
- supervisor
7.4 停电恢复方案
最低级方案:
- 所有服务注册为 systemctl
- 开机自动启动
推荐方案:
- Docker + docker-compose
- Nginx + 后端容器
- 一条命令恢复:
bash
docker compose up -d八、Nginx 常见问题
8.1 502 Bad Gateway
= 后端服务挂了
8.2 403 Forbidden
= 权限问题
8.3 404
= 路径不对
8.4 端口冲突
= 已有程序占用端口
九、Nginx 本质一句话总结
Nginx 是互联网的“门卫 + 交通警察 + 保安 + 管家”。
十、网上资源截图(非商用)








