nginx
1、upstream
upstream 是 Nginx 中用于定义后端服务器组的指令块,属于HTTP 核心模块的一部分。它主要用于反向代理和负载均衡,允许将客户端请求分发到多个后端服务器(如 Web 应用服务器、API 服务、数据库等)
2、upstream 模块的后端服务器参数
(1)backup
backup专门用于定义备用服务器,将服务器标记为备用节点(主节点不可用时启用)。
(2)weight
设置后端服务器权重值(负载均衡比例)
默认权重 1,不支持小数(如 weight=1.5 会报错)
(3)down
用于手动标记某台服务器为"停机维护"状态,Nginx 不会将任何请求转发给它。不同于 backup(备用服务器),down 是显式禁用,通常用于:服务器维护期间、故障排查时隔离问题节点.
4)max_conns
限制单台服务器的最大并发连接数,防止过载。
当服务器的活跃连接数达到 max_conns 时,新请求会被转发到其他可用服务器。
默认值:0(无限制)。
(5)least_conn
使用 least_conn(最少连接数)策略,Nginx 会将新请求优先分配给当前活跃连接数最少的后端服务器。
3.开启日志(web1、web2)
$http_x_forwarded_for:为真实客户端IP
4.修改配置文件
解析:
作用:将客户端请求的原始 Host 头(域名)传递给后端服务器。
作用:将客户端的真实 IP 地址传递给后端服务器,存储在自定义头 X-Real-IP 中。
作用:追加客户端 IP 到 X-Forwarded-For 头,用于标识请求链路上的所有代理 IP。
======================================================内置变量$说明=============================
4、nginx缓存
x-cache-status返回“HIT “表示响应来自缓存
观察 X-Cache-Status 的值:
- HIT:响应来自缓存
- MISS:未命中缓存,从后端获取
- BYPASS:显式跳过缓存(如设置了 proxy_cache_bypass)
- EXPIRED:缓存已过期
- STALE:后端不可用时返回旧缓存
linux 中查看缓存
查看生成缓存文件
tree
/usr/local/nginx/proxy_cache/