nginx负载均衡简介,一般轮询、加权轮询、ip_hash等负载均衡模式配置介绍

这篇具有很好参考价值的文章主要介绍了nginx负载均衡简介,一般轮询、加权轮询、ip_hash等负载均衡模式配置介绍。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一.负载均衡含义简介

二.nginx负载均衡配置方式

准备三台设备:

2.190均衡服务器,2.191web服务器1,2.160web服务器2,三台设备均安装nginx,两台web服务器均有网页内容

upstream内参数

1.一般轮询负载均衡

(1)含义

(2)配置

(3)测试

2.加权轮询负载均衡

(1)含义

(2)配置

(3)测试

(4)其他常用参数

3.ip_hash负载均衡

(1)含义

(2)配置

(3)测试

4.第三方模块负载均衡(以fair为例)

(1)像fair、url_hash等第三方模块都需要添加相应的模块和软件包

(2)配置


一.负载均衡含义简介

就是为了减轻web、dns等服务器再接收高并发流量请求时的压力,在接受到请求时将负载分摊到其他多个服务器上,提高服务的响应速度和体验感

二.nginx负载均衡配置方式

准备三台设备:

2.190均衡服务器,2.191web服务器1,2.160web服务器2,三台设备均安装nginx,两台web服务器均有网页内容

[root@localhost conf]# curl 192.168.2.160
here 160
[root@localhost conf]# curl 192.168.2.191
here 191

注意:负载均衡的配置一般都放在upstream块内 

upstream内参数

server xxxxxxx real server地址,不写端口默认80,高并发情况下IP可以换位域名
weight=数字
服务器的权重,默认值是 1, 数字越大表示接受的请求比例越大
max_fails=数字
Nginx 尝试连接后端主机失败的次数,这个值是配合proxy_next_upstream、 fastcgi_next_upstream 和memcached_next_upstream 这三个参数来使用的。当 nginx 接收后端服务器返回这三个参数定义的状态码时,会将这个请求转发给正常工作的后端服务器
fail_timeout=time
与max_fails配合使用,在max_fails 定义的失败次数后,距离下次检查的间隔时间,默认是 10s 。 如果 max_fails是 5 , 它就检测 5 次,如果 5 次都是 502, 那么,它就会根据 fail_timeout的值,等待 10s 再去检查,还是只检查一次,如果持续 502, 在不重新加载 Nginx 配置的情况下,每隔 10s都只检查一次。
backup
热备配置( RS 节点的高可用),当前面激活的 RS 都失败后会自动启用热备 RS
这标志着这个服务器作为备份服务器,若主服务器全部宕机了,就会向它转
发请求。注意:当负载调度算法为 ip_hash 时,后端服务器在负载均衡调度中
的状态不能是 weight backup
down
标志着服务器永远不可用,这个参数可配合 ip_hash 使用

1.一般轮询负载均衡

(1)含义

一般轮询属于是负载均衡默认配置模式,将请求按照时间先后顺序分配到不同的服务器进行处理,若部分服务器出现宕机,会被自动剔除。

(2)配置

server {
                listen 192.168.2.190;
                server_name www.aabb.com;
                error_log /usr/local/src/nginx-1.22.0/logs/error.log;
                access_log /usr/local/src/nginx-1.22.0/logs/access.log;
                location / {
                        proxy_pass http://remo;  #可以理解为代理的站点
                }
}
upstream remo {      #代理站点内的主机,可加端口,默认80
                server 192.168.2.191;
                server 192.168.2.160;
}

(3)测试

不断刷新会根据时间先后顺序在两台服务器之间交替

nginx配置负载,Linux,# nginx,nginx,负载均衡,运维,linux,nginx.conf

2.加权轮询负载均衡

(1)含义

通过weight指定轮询的权重比率(与访问率成正比),应对后端服务器性能不一的情况,性能高的服务器可以设置较高权重,反之则设置较低。这个方式是按照平滑加权轮询算法进行分配,权重值越高被分配到的几率就高。

(2)配置

像这个例子就是它们的总和作为一个循环,4次内出现1次191和3次160,下个4次也是如此

server {
                listen 192.168.2.190;
                server_name www.aabb.com;
                error_log /usr/local/src/nginx-1.22.0/logs/error.log;
                access_log /usr/local/src/nginx-1.22.0/logs/access.log;
                location / {
                        proxy_pass http://remo;
                }
}
upstream remo {
                server 192.168.2.191 weight=1;
                server 192.168.2.160 weight=3;
}

(3)测试

访问4次

nginx配置负载,Linux,# nginx,nginx,负载均衡,运维,linux,nginx.conf

(4)其他常用参数

直接接着weight后面写即可

upstream remo {
                server 192.168.2.191 weight=1;
                server 192.168.2.160 weight=3;
}

3.ip_hash负载均衡

(1)含义

每个用户发出的请求会按照ip_hash的记过进行分配,分配后的结果即每个访问者固定了的服务器了(可以有效解决动态网页中的连接共享问题)

(2)配置

server {
                listen 192.168.2.190;
                server_name www.aabb.com;
                error_log /usr/local/src/nginx-1.22.0/logs/error.log;
                access_log /usr/local/src/nginx-1.22.0/logs/access.log;
                location / {
                        proxy_pass http://remo;
                }
}
upstream remo {
                ip_hash;
                server 192.168.2.191;
                server 192.168.2.160;
}
[root@localhost html]# netstat -n | grep 80 |wc -l
30

(3)测试

如图所示就固定给160服务器了,也只有160服务器的访问次数增加了

#160设备上
[root@localhost html]# netstat -n | grep 80 |wc -l
30

nginx配置负载,Linux,# nginx,nginx,负载均衡,运维,linux,nginx.conf

4.第三方模块负载均衡(以fair为例)

(1)像fair、url_hash等第三方模块都需要添加相应的模块和软件包

(2)配置

下载fair压缩包,解压增加fair模块

[root@localhostnginx-1.22.0]#./configure --add-module=/usr/local/src/nginx-1.22.0/conf/nginx-upstream-fair-master
[root@localhost nginx-1.22.0]# make
[root@localhost nginx-1.22.0]# make install

修改配置文件 文章来源地址https://www.toymoban.com/news/detail-695650.html

server {
                listen 192.168.2.190;
                server_name www.aabb.com;
                error_log /usr/local/src/nginx-1.22.0/logs/error.log;
                access_log /usr/local/src/nginx-1.22.0/logs/access.log;
                location / {
                        proxy_pass http://remo;
                }
}
upstream remo {
                server 192.168.2.191;
                server 192.168.2.160;
                fair;
}

到了这里,关于nginx负载均衡简介,一般轮询、加权轮询、ip_hash等负载均衡模式配置介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux-----nginx的简介,nginx搭载负载均衡以及nginx部署前后端分离项目

    目录 nginx的简介 是什么 nginx的特点以及功能 Nginx负载均衡 下载  安装  负载均衡 Nginx 是一个高性能的开源Web服务器和反向代理服务器。它的设计目标是为了解决C10k问题,即在同一时间内支持上万个并发连接。 Nginx采用事件驱动的异步架构,能够高效地处理大量并发请求,同

    2024年02月06日
    浏览(42)
  • nginx 前后的分离 (ip/域名)访问 负载均衡

    首先前端随便访问后端的一个端口,后端监听这个端口进行服务转发。 比如:8888 然后nginx在我们的服务器上部署两个后端 这里我用docker部署了两个 当然你也可以在两个服务器上面部署两个后端,只要在nginx配置代理的时候修改一下ip就可以了。 nginx配置

    2024年04月29日
    浏览(36)
  • nginx反向代理之缓存 客户端IP透传 负载均衡

    缓存功能可以加速访问,如果没有缓存关闭后端服务器后,图片将无法访问,缓存功能默认关闭,需要开启。 相关选项: 实验:为代理服务器开启缓存功能 ① 代理服务器主配置文件的http模块中添加配置 ② 子配置文件添加配置 ③是否有缓存 在另一台配置拖入图片 浏览器检

    2024年03月15日
    浏览(69)
  • 集群、负载均衡集群、高可用集群简介,LVS模式和haproxy/nginx模式拓扑介绍

    目录 一.集群的定义 1.定义 2.分类 (1)负载均衡集群(LBC/LB) (2)高可用集群(HAC) 二.使用集群的意义 1.高性价比和性能比 2.高可用性 3.可伸缩性强 4.持久和透明性高 三.常见的两种集群模式拓扑 1.LVS(-DR)集群模式 (1)工作架构 (2)LVS下的相关术语 (3)LVS的工作模式

    2024年02月13日
    浏览(40)
  • Nacos服务注册或发现、Nacos服务分级模型、Nacos负载均衡策略、加权负载均衡、Nacos环境隔离

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

    2024年01月16日
    浏览(38)
  • Nginx+netty实现tcp负载均衡,获取客户端真实ip

    在nginx.conf文件中,events,http同级添加配置 启动nginx服务 启动2个服务netty服务设置nginx中8888,8889端口。 使用tcp工具连接并发送数据测试 参考博客 参考链接1 参考链接2

    2024年02月06日
    浏览(54)
  • 集群、负载均衡集群、高可用集群简介,LVS工作结构、工作模式、调度算法和haproxy/nginx模式拓扑介绍

    目录 一.集群的定义 1.定义 2.分类 (1)负载均衡集群(LBC/LB) (2)高可用集群(HAC) 二.使用集群的意义 1.高性价比和性能比 2.高可用性 3.可伸缩性强 4.持久和透明性高 三.常见的两种集群模式拓扑 1.LVS(-DR)集群模式 (1)工作架构 (2)LVS下的相关术语 (3)LVS的工作模式

    2024年02月13日
    浏览(42)
  • nginx的ip_hash算法

    根据用户请求的ip,利用算法映射成hash值,分配到特定的tomcat服务器中。主要是为了实现负载均衡,只要用户ip固定,则hash值固定,特定用户只能访问特定服务器,解决了session的问题。 ip_hash算法的处理代码位于srchttpmodulesngx_http_upstream_ip_hash_module.c。主要的处理代码如下:

    2024年02月15日
    浏览(51)
  • Nginx反向代理之ip_hash

    1. 什么是ip_hash? ip_hash是根据用户请求过来的ip,然后映射成hash值,然后分配到一个特定的服务器里面; 使用ip_hash这种负载均衡以后,可以保证用户的每一次会话都只会发送到同一台特定的Tomcat里面,它的session不会跨到其他的tomcat里面去的; 2. hash算法原理 如图所示: 首先

    2024年02月03日
    浏览(30)
  • Nginx使用场景&&Nginx基础&&Nginx的负载均衡策略&&Nginx配置文件&&Nginx+Tomcat集群示例&&Nginx部署静态网站&&根据Tomcat容器实际IP修改Nginx配置

    目录 1. Nginx使用场景 2. Nginx中的进程 2.1 Nginx中的多进程模型 2.2 多进程模式的优点: 2.3 缓存 3. Ngnix的负载均衡策略 3.1 轮询法 3.2 加权轮询 3.3 原地址哈希 3.4 最小连接数法 3.5 Fair 3.6 url_hash 3. Nginx配置文件 4. Nginx+tomcat 集群示例 4.1 下载镜像 4.2 在宿主机中创建需要挂载的目录

    2024年02月04日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包