Nginx 负载均衡
负载均衡是由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,都可以单独对外提供服务而无须其他服务器的辅助。通过某种负载分担技术,将外部发送来的请求按照事先设定分配算法分配到对称结构中的某一台服务器上,而接收到请求的服务器独立地回应客户的请求。
均衡负载能够平均分配客户请求到服务器列阵,籍此提供快速获取重要数据,解决大量并发访问服务问题。
upstream 块
upstream name {...} 配置块 http upstream 块定义一个上游服务器的集群,便于反向代理中的 proxy_pass 使用 upstream mynet{ server www.wopai1.com ; server www.wopai2.com ; server www.wopai3.com ; } server { location /{ proxy_pass http://mynet ; } }
server
server name [paramenters] 配置块 upstream server 配置项指定了一台上游服务器的名字,可以是域名 IP 地址端口 UNIX 句柄 weight= number;设置向这台服务器转发的权重,默认为 1 max_fails=number;该选项域 fail_timeout 配合使用 指在 fail_timeout 时间段内如果转发上游失败超过 number 次就认为当前的 fail_timeout 时间内 这台服务器不可用,max_fails 默认为 1 如果设置为 0 表示不检查失败次数 fail_timeout=time; fail_timeout 表示该时间内转发多少次失败后就认为上游不可用.默认 10s down 表示上游服务器永久下线,只能在 ip_hash 配置时才有效 backup 在 ip_hash 配置时无效.只有所有非备份机都失败,才向上游备份服务器转发请求. upstream mynet{ server www.wopai1.com weight=5; server www.wopai2.com:8081 max_fails=3 fail_timeout=300s; server www.wopai2.com down; }
ip_hash
配置块 upstream 希望来自某一个用户的请求始终落在固定的一台服务器上进行处理. 根据客户端的 IP 散列计算出一个 key,将 key 按照 upstream 集群中的上游服务器进行取模,求得的值对应的主机接收转发请求. ip_hash 不可以与 weight 同时使用 如果 upstream 配置中有一台服务器暂时不可用,不能直接删除该配置,而应该使用 down 标识. upstream mynet{ ip_hash; server www.wowpai1.top ; server www.wowpai2.top ; server www.wowpai3.top down; }
例子,服务器负载均衡基本配置,nginx 中可以进行负载均衡的相关设置:
upstream my.net{ #my.net 是自定义的命名 在 server 结构中引用即可 #代理服务器为 两台机器 192.168.22.136 192.168.22.147 做负载均衡操作 #两台机器上 可以跑 apache 负载功能更为强大的网页相关任务 #max_fails 表示尝试出错最大次数 即可认为该服务器 在 fail_timeout 时间内不可用 # server servername:port servername 可以写主机名 或者点分式 IP server 192.168.22.136:80 max_fails=1 fail_timeout=300s; server 192.168.22.147:80 max_fails=1 fail_timeout=300s; } server { listen 80; server_name localhost; location / { #upstream 块名 proxy_pass http://my.net ; root html; index index.html index.htm; }
动手开始配置才能慢慢上手 nginx 配置和使用。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
上一篇: Nginx 反向代理
下一篇: 彻底找到 Tomcat 启动速度慢的元凶
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论