5、Nginx 配置实例-负载均衡

文章目录


【尚硅谷】尚硅谷Nginx教程由浅入深
志不强者智不达;言不信者行不果。

5、Nginx 配置实例-负载均衡

负载均衡:增加服务器的数量,将请求分发到各个服务器上,将原先请求集中到单个服务器上的情况改为将请求分发到多个服务器上,将负载分发到不同的服务器,这就是负载均衡。

5.1 实现效果

浏览器地址栏输入地址 http://192.168.39.250/edu/a.html,负载均衡效果,平均 8080和 8081 端口中。


5.2 准备工作

  1. 首先准备两个同时启动的 Tomcat,一台8080,一台8081
  2. 在两台 tomcat 里面 webapps 目录中,创建名称是 edu 文件夹,在 edu 文件夹中创建页面 a.html,用于测试。

5.3 实验代码

在 nginx.conf 中进行配置

shell 复制代码
http{
        upstream myserver{
                server 192.168.39.250:8080;
                server 192.168.39.250:8081;
        }

    server {
        listen       80;
        server_name  192.168.39.250;
        location / {
                proxy_pass http://myserver;
        }
}

重新启动Nginx

shell 复制代码
[root@centos7-101 conf]# cd /usr/local/nginx/sbin/
[root@centos7-101 sbin]# ./nginx -s stop
[root@centos7-101 sbin]# ./nginx 

随着互联网信息的爆炸性增长,负载均衡(load balance)已经不再是一个很陌生的话题,顾名思义,负载均衡即是将负载分摊到不同的服务单元,既保证服务的可用性,又保证响应足够快,给用户很好的体验。

快速增长的访问量和数据流量催生了各式各样的负载均衡产品,很多专业的负载均衡硬件提供了很好的功能,但却价格不菲,这使得负载均衡软件大受欢迎,nginx 就是其中的一个,在 linux 下有 Nginx、LVS、Haproxy 等等服务可以提供负载均衡服务,而且 Nginx 提供了几种分配方式(策略):

5.3.1、轮询(默认)

每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器 down 掉,能自动剔除。

5.3.2、weight

weight 代表权重默认为 1,权重越高被分配的客户端越多指定轮询几率,weight 和访问比率成正比,用于后端服务器性能不均的情况。

例如:

shell 复制代码
upstream server_pool{ 
server 192.168.5.21 weight=10; 
server 192.168.5.22 weight=10; 
}

5.3.3、ip_hash

每个请求按访问 ip 的 hash 结果分配,这样每个访客固定访问一个后端服务器,可以解决 session 的问题。 例如:

shell 复制代码
upstream server_pool{ 
ip_hash; 
server 192.168.5.21:80; 
server 192.168.5.22:80; 
}

5.3.4、fair(第三方)

按后端服务器的响应时间来分配请求,响应时间短的优先分配。

shell 复制代码
upstream server_pool{ 
server 192.168.5.21:80; 
server 192.168.5.22:80; 
fair; 
}
相关推荐
skywalk81639 分钟前
unbound dns解析出现问题,寻求解决之道
运维·服务器·dns·unbound
酉鬼女又兒10 分钟前
零基础入门Linux指南:每天一个Linux命令_pwd
linux·运维·服务器
云飞云共享云桌面12 分钟前
高性能图形工作站的资源如何共享给10个SolidWorks研发设计用
linux·运维·服务器·前端·网络·数据库·人工智能
skywalk816314 分钟前
走近科学:unbound dns域名服务器自己本地解析出现问题,寻求解决之道
运维·服务器·dns·unbound
袁煦丞 cpolar内网穿透实验室18 分钟前
远程调试内网 Kafka 不再求运维!cpolar 内网穿透实验室第 791 个成功挑战
运维·分布式·kafka·远程工作·内网穿透·cpolar
AZ996ZA29 分钟前
自学linux的第二十一天【DHCP 服务从入门到实战】
linux·运维·服务器·php
神梦流2 小时前
GE 引擎的非标准数据流处理:稀疏张量与自定义算子在图优化中的语义保持
linux·运维·服务器
兜兜转转了多少年2 小时前
从脚本到系统:2026 年 AI 代理驱动的 Shell 自动化
运维·人工智能·自动化
Lsir10110_3 小时前
【Linux】中断 —— 操作系统的运行基石
linux·运维·嵌入式硬件
Doro再努力3 小时前
【Linux操作系统12】Git版本控制与GDB调试:从入门到实践
linux·运维·服务器·git·vim