🧩 Nginx 理论与实战学习手册
记得点赞加收藏哦😁😁😁
一、Nginx 理论知识体系
1. 什么是 Nginx?
Nginx(Engine X)是一款高性能的 Web 服务器、反向代理服务器及邮件代理服务器。以轻量、高并发、稳定著称,被广泛用于网站架构中。
- 轻量级:内存占用小
- 高并发:事件驱动模型,可支撑10万级连接
- 稳定性高:热部署、平滑升级
2. Nginx 的工作原理
采用 Master-Worker 模型:
- Master:管理进程,负责启动、停止 worker
- Worker:事件循环处理请求
并发模型:事件驱动(epoll/kqueue),非阻塞I/O。
3. Nginx 配置结构
主配置文件:/etc/nginx/nginx.conf
user www-data;
worker_processes auto;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name example.com;
location / {
root /var/www/html;
index index.html;
}
}
}
4. Nginx 常用指令表
| 指令 | 作用 | 示例 |
|---|---|---|
| listen | 监听端口 | listen 80; |
| server_name | 域名匹配 | server_name www.xxx.com; |
| root | 网站根目录 | root /var/www/html; |
| index | 默认文件 | index index.html index.php; |
| location | 路由匹配规则 | location /api/ {} |
| proxy_pass | 反向代理目标地址 | proxy_pass http://127.0.0.1:8080; |
| rewrite | URL重写 | rewrite ^/old$ /new permanent; |
二、Nginx 实际项目案例
案例 1:静态网站部署
server {
listen 80;
server_name mysite.com;
root /var/www/mysite;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
案例 2:反向代理(Java/Node/PHP)
server {
listen 80;
server_name api.mysite.com;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
案例 3:多项目虚拟主机
server {
listen 80;
server_name shop.mysite.com;
root /var/www/shop;
}
server {
listen 80;
server_name blog.mysite.com;
root /var/www/blog;
}
案例 4:HTTPS 配置
server {
listen 443 ssl;
server_name secure.mysite.com;
ssl_certificate /etc/nginx/ssl/mysite.crt;
ssl_certificate_key /etc/nginx/ssl/mysite.key;
location / {
proxy_pass http://127.0.0.1:8080;
}
}
案例 5:负载均衡集群
upstream myapp {
server 127.0.0.1:8080;
server 127.0.0.1:8081;
server 127.0.0.1:8082;
}
server {
listen 80;
server_name load.mysite.com;
location / {
proxy_pass http://myapp;
}
}
案例 6:防盗链与缓存
location ~* \.(jpg|png|gif|js|css)$ {
valid_referers none blocked mysite.com;
if ($invalid_referer) {
return 403;
}
expires 30d;
}
三、学习路线建议
| 阶段 | 内容 | 目标 |
|---|---|---|
| 1 | 安装与基本配置 | 能启动静态网站 |
| 2 | 反向代理与location匹配 | 转发后端服务 |
| 3 | HTTPS/缓存/防盗链 | 提升性能与安全 |
| 4 | 负载均衡/灰度发布 | 构建高并发架构 |
| 5 | 日志/监控/Lua扩展 | 深度优化 |
四、实战练习建议
- 安装 Nginx(Linux/Windows)
- 创建一个静态站点
www.test.com - 配置代理到
localhost:8080 - 配置 HTTPS 证书
- 测试 upstream 负载均衡
五、推荐资源
- 官方文档:https://nginx.org/en/docs/
- Nginx 中文网:https://www.nginx.cn/doc/
- OpenResty 官网:https://openresty.org/
作者建议:
动手部署三次,比看十遍文档更有效。推荐结合 Spring Boot 或前端项目一起实践。

被折叠的 条评论
为什么被折叠?



