HTTP 负载均衡:如何实现多台服务器的高效分发
为了让流量均匀分配到两台或多台 HTTP 服务器上,我们可以通过 NGINX 的 upstream 代码块实现负载均衡。
方法 在 NGINX 的 HTTP 模块内使用 upstream 代码块对 HTTP 服务器实施负载均衡:
upstream backend { server 10.10.12.45:80 weight=1; server app.example.com:80 weight=2; server spare.example.com:80 backup; } server { location / { proxy_pass http://backend; } }
该配置对端口 80 的两台 HTTP 服务器实施负载均衡,然后再将另一台服务器定义为 backup,以便在两台主服务器不可用时发挥作用。可选的 weight 参数指示 NGINX 向 第二台服务器传输两倍的请求。未使用时,它的默认值为 1。
HTTP 的 upstream 模块控制着 HTTP 请求负载均衡。该模块定义了一个目标池 —— 它可以是 Unix 套接字、IP 地址和服务器主机名的任意组合,也可以是它们的混合使用 配置。
upstream 模块还定义了如何将任一个请求分发给任何上游(upstream)服务器。
每个上游目标都通过 server 指令在上游池中进行定义。除了上游服务器地址以外, server 指令还接收可选参数。
可选参数能够增强对请求路由的控制。这包括均衡算法 中服务器的 weight 参数(无论服务器处于待机模式、可用还是不可用),以及确定服 务器是否不可用的参数。
NGINX Plus 还提供了许多其他好用的参数,例如对服务器的 连接限制、高级 DNS 解析控制以及在服务器启动后缓慢增加与服务器的连接等等。
现在有一款很火的WAF,也是以反向代理方式接入,雷池社区版,保护你的网站,操作简单,可以试试
版权归原作者 guguge112 所有, 如有侵权,请联系我们删除。