当前位置: 首页 > news >正文

nginx负载均衡配置

1.nginx负载均衡配置

upstream lbs {server 192.168.1.12:8080;server 192.168.1.12:8081;
}server {listen       80;server_name  localhost a.com;#charset koi8-r;#access_log  logs/host.access.log  main;location / {root   html;index  index.html index.htm;}location /api/ {proxy_pass http://lbs;proxy_redirect default;}#error_page  404              /404.html;# redirect server error pages to the static page /50x.html#error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}
}

2.nginx常见的负载均衡策略

  • 节点轮询(默认)

    • 简介:每个请求按顺序分配到不同的后端服务器
    • 场景:会造成可靠性低和负载分配不均衡,适合静态文件服务器
  • weight权重配置

    • 简介:weight和访问比率成正比,数字越大,分配得到的流量越高

    • 场景:服务器性能差异大的情况使用

      upstream lbs {server 192.168.1.12:8080 weight=1;server 192.168.1.12:8081 weight=5;
      }
      
  • ip_hash(固定分发)

    • 简介:根据请求按访问IP的hash结果分配,这样每个用户就可以固定访问一个后端服务器

    • 场景:服务器业务分区、业务缓存、session需要单点的情况

      upstream lbs {ip_hash;server 192.168.1.12:8080;server 192.168.1.12:8081;
      }
      
  • upstream还可以为每个节点设置状态值

    • down:当前的server暂时不参与负载;server 192.168.1.12:8080 down;
    • backup:其它所有的非backup机器down的时候,会请求backup机器,这台机器压力会最轻,配置也会相对低;server 192.168.1.12:8080 backup;

3.nginx后端节点可用性探测和配置

  • 如果某个应用挂了,请求不应该继续分发过去

    • max_fails:允许请求失败的次数,默认为1,当超过最大次数时就不会请求

    • fail_timeout:max_fails次失败后暂停的时间,默认为10s

    • 参数解释

      • max_fails=N 设定nginx与后端节点通信的尝试失败的次数
      • 在fail_timeout参数定义的时间内,如果失败的次数达到此值,nginx这个节点不可用
      • 在下一个fail_timeout时间段到来前,服务器不会再被尝试
      • 失败的尝试次数默认是1,如果设置为0就会停止统计尝试次数,认为服务器是一直可用的,一般不会如此配置
    • 具体什么是nginx认为的失败呢

      • 可以通过指令proxy_next_upstream来配置什么是失败的尝试
      • 注意默认配置时,http_404状态不被认为是失败的尝试
  • 配置实操

    upstream lbs {server 192.168.1.12:8080 max_fails=2 fail_timeout=60s;server 192.168.1.12:8081 max_fails=2 fail_timeout=60s;
    }server {listen       80;server_name  localhost a.com;#charset koi8-r;#access_log  logs/host.access.log  main;location / {root   html;index  index.html index.htm;}location /api/ {proxy_pass http://lbs;proxy_redirect default;proxy_next_upstream error timeout http_500 http_503 http_404;}#error_page  404              /404.html;# redirect server error pages to the static page /50x.html#error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}
    }
    
http://www.lryc.cn/news/344940.html

相关文章:

  • HarmonyOS NEXT星河版之美团外卖点餐功能实战(中)
  • CTF-Web Exploitation(持续更新)
  • 图书管理系统c语言
  • 森林消防—高扬程水泵,高效、稳定、可靠!/恒峰智慧科技
  • 光伏设备制造5G智能工厂数字孪生可视化平台,推进行业数字化转型
  • 【论文阅读笔记】TS2Vec: Towards Universal Representation of Time Series
  • windows驱动开发-DMA技术(一)
  • 实用的Chrome命令
  • 数据库(MySQL)基础:约束
  • ControlNet作者放大招!IC-Light:控制生成图片光照效果!
  • 【Java】Java中类的初始化顺序(静态方法,静态块,非静态块,最后有流程图)
  • 在RK3588开发板使用FFMpeg 结合云服务器加SRS实现摄像头数据推流到云端拱其他设备查看
  • elasticsearch搭建教程
  • c++ 归并排序
  • 基于vs和C#的WPF应用之动画3
  • Python import 必看技巧:打造干净利落的代码结构
  • 计算机视觉(CV)(Computer Vision)
  • python:画折线图
  • Spring Data JPA 与 MyBatisPlus的比较
  • 【C++】STL-list的使用
  • 进度条(小程序)
  • PyCharm安装教程(超详细图文教程)
  • 金蝶BI应收分析报表:关于应收,这样分析
  • salmon使用体验
  • Ubuntu 20.04 安装 Ansible
  • TypeScript学习笔记:强类型JavaScript的优雅之旅
  • 监控异地组网怎么组网?
  • 将本地托管模型与 Elastic AI Assistant 结合使用的好处
  • Linux的内核态和用户态
  • springboot利用Redis的Geo数据类型,获取附近店铺的坐标位置和距离列表