nginx

1、upstream

upstream 是 Nginx 中用于定义后端服务器组的指令块,属于HTTP 核心模块的一部分。它主要用于反向代理和负载均衡,允许将客户端请求分发到多个后端服务器(如 Web 应用服务器、API 服务、数据库等)

image

 

image

 

2、upstream 模块的后端服务器参数

(1)backup

backup专门用于定义备用服务器,将服务器标记为备用节点(主节点不可用时启用)。

image

 

(2)weight

设置后端服务器权重值(负载均衡比例)

默认权重 1,不支持小数(如 weight=1.5 会报错)

image

 

(3)down

用于手动标记某台服务器为"停机维护"状态,Nginx 不会将任何请求转发给它。不同于 backup(备用服务器),down 是显式禁用,通常用于:服务器维护期间、故障排查时隔离问题节点.

image

 

4)max_conns

限制单台服务器的最大并发连接数,防止过载。

当服务器的活跃连接数达到 max_conns 时,新请求会被转发到其他可用服务器。

默认值:0(无限制)。

image

 

(5)least_conn

使用 least_conn(最少连接数)策略,Nginx 会将新请求优先分配给当前活跃连接数最少的后端服务器。

image

 

3.开启日志(web1、web2)

image

 $http_x_forwarded_for:为真实客户端IP

4.修改配置文件

image

 

解析:

proxy_set_header Host $host;

作用:将客户端请求的原始 Host 头(域名)传递给后端服务器。

proxy_set_header X-Real-IP $remote_addr;

作用:将客户端的真实 IP 地址传递给后端服务器,存储在自定义头 X-Real-IP 中。

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

作用:追加客户端 IP 到 X-Forwarded-For 头,用于标识请求链路上的所有代理 IP。

======================================================内置变量$说明=============================

image

 

image

 

image

 

 

4、nginx缓存

image

 

image

 

x-cache-status返回“HIT “表示响应来自缓存

观察 X-Cache-Status 的值:

  • HIT:响应来自缓存
  • MISS:未命中缓存,从后端获取
  • BYPASS:显式跳过缓存(如设置了 proxy_cache_bypass)
  • EXPIRED:缓存已过期
  • STALE:后端不可用时返回旧缓存

linux  中查看缓存

查看生成缓存文件

tree /usr/local/nginx/proxy_cache/

image

 

posted @ 2025-10-14 23:43  KLAPT  阅读(3)  评论(0)    收藏  举报