nginx常用代理方式

两种前端架构:

lvs -> nginx前端代理 -> squid缓存
lvs -> squid前端缓存 -> nginx中层代理

 

squid在前面的优点:

Squid作纯代理比较稳当
前端少一级代理,响应速度会快,出问题的可能性要小
功能有限,不会常被调整
容易为人接受,只是为了扩充功能而增加中层代理
一般的配置简便,比如增加一个二级域名,只需配置一个指向。
增加的nginx可扩展功能,增加对应用服务的负载均衡等。

 

squid在前面的缺点:

squid支持的负载均衡配置复杂
容灾问题
更新缓存要遍历所有机器
squid只支持单cpu,所以浪费cpu

 

nginx在前面的优点:

分流、负载均衡功能强大,可以细致定义
可精细定制access_log
nginx的错误日志更详细
可让squid只缓存无压缩版本,由nginx压缩,这样可优化squid缓存容量
nginx可分担部分无实时性要求的缓存

 

nginx在前面的优点:

nginx目前还有部分bug。
功能强,所以可能经常被调整
nginx代理用的短链接方式
单机上安装nginx+squid的cpu消耗比纯squid和纯nginx之和要大一倍,但也不算高
容易遭到质疑,不易被接受。

### Nginx 实现反向代理的三种配置方式 #### 1. 单台后端服务器的简单反向代理配置 对于单台后端服务器的情况,可以通过简单的 `server` 配置来设置反向代理。这种方式适用于小型网站或测试环境。 ```nginx server { listen 80; server_name www.dh.com; location / { proxy_pass http://172.16.12.11; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } ``` 此配置文件定义了一个监听80端口的服务,并将所有请求转发给指定的后端服务器[^3]。 #### 2. 多台后端服务器的轮询负载均衡配置 当有多个后端服务器时,可以使用 `upstream` 指令创建一个服务器池,并通过轮询的方式分配流量。这是最常用的负载均衡策略之一,默认情况下Nginx采用的就是这种模式。 ```nginx http { upstream backend_servers { server backend1.example.com; server backend2.example.com; server backend3.example.com; } server { listen 80; server_name example.com; location / { proxy_pass http://backend_servers; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } } ``` 上述配置实现了基于轮询算法的多台后端服务器之间的负载分发[^4]。 #### 3. 使用加权轮询提高灵活性 为了更灵活地控制不同后端服务器接收到的请求数量比例,可以在 `upstream` 中为各服务器设定权重参数。具有更高权重值的服务器将会获得更多的请求处理机会。 ```nginx http { upstream weighted_backend_servers { server backend1.example.com weight=5; server backend2.example.com weight=1; server backend3.example.com weight=3; } server { listen 80; server_name example.com; location / { proxy_pass http://weighted_backend_servers; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } } ``` 在此示例中,`backend1.example.com` 的权重被设为5,意味着它相比其他两台服务器会有更高的概率接收到来自用户的HTTP请求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

anssummer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值