关注分享主机优惠活动
国内外VPS云服务器

负载均衡全过程使用nginx(Linux版nginx负载均衡配置详解)

1.nginx负载均衡介绍NGINX的应用场景之一就是负载均衡。当访问量很大时,可以通过负载均衡将多个请求分布到多个服务器上,相当于将一台服务器的负载交给多台服务器处理,从而提高系统的吞吐率。此外,如果其中一个服务器死亡,其他服务器可以正常提供服务,从而提高系统的可扩展性和可靠性。

下图显示了负载平衡的一个示例。当一个用户请求被发送时,它首先被发送到负载均衡服务器,然后负载均衡服务器根据配置规则将请求转发到不同的web服务器。

负载均衡全过程使用nginx(Linux版nginx负载均衡配置详解)-主机频道

2.nginx负载均衡策略以下截图为nginx官网文档。

负载均衡全过程使用nginx(Linux版nginx负载均衡配置详解)-主机频道

nginx内置的负载均衡策略主要分为三类,分别是轮询、最小连接数和ip hash。

最少的连接请求分配给活动连接数最少的服务器,哪个服务器的连接数最少,请求就给哪个服务器,服务器连接数由nginx统计。

基于客户端Ip分配IP哈希。

2.1轮询以循环方式将请求分发到应用服务器,并将请求均匀地分发到每个服务器。

2.1.1普通轮询模式该模式为默认模式,轮询适用于服务器配置相当、无状态、短而快的服务。另外,在轮询中,如果服务器挂机,会自动拒绝。

Http {#定义转发分配规则上游myapp1 {服务器srv1.com;#要转发到的服务器,如ip,ip:端口号,域名,域名:端口号服务器srv2.com:8088;服务器192 . 168 . 0 . 100:8088;} server { listen 80nginx监控的# port location/{#使用myapp1分配规则,即新增的上游节点#将所有请求转发到myapp1服务器组中配置的服务器上的proxy _ pass http://myapp 1;} }}

2.1.2权重轮询方法如果在上游配置的服务器参数后追加了权重配置,则请求将根据配置的权重进行分发。该策略可以与least_conn和ip_hash相结合,适用于服务器硬件配置差异较大的情况。

#定义转发分配规则上游myapp1 {服务器srv1.com权重= 1;#该服务器接受1/6的请求。服务器srv2.com:8088权重= 2;#此服务器接受2/6的请求量服务器192 . 168 . 0 . 100:8088 weight = 3;#该服务器接受3/6的请求;}

2.2最少连接轮询算法是将请求平均转发给所有后端,使其负载大致相同;但是,有些请求需要很长时间,这会导致很高的后端负载。在这种情况下,least_conn的方法可以达到更好的负载均衡效果,适用于服务器因请求处理时间不同而过载的情况。

#定义转发分配规则上游myapp1 { least _ conn#将请求分派给具有最少连接数的服务器srv1.com;服务器srv2.com:8088;服务器192 . 168 . 0 . 100:8088;}

2.3 ip hash这种方法保证了同一个客户端的请求始终被发送到同一个服务器,这样每个访问者对一个后端服务器的访问都是固定的。如果用户需要分片上传文件到服务器,然后服务器会对分片进行合并,那么如果用户的请求到达了不同的服务器,那么分片就会存放在不同的服务器目录下,这样就无法进行分片合并。在这种情况下,需要ip哈希策略。

需要注意的是,ip_hash不能与backup同时使用。此外,当需要移除服务器时,必须手动将其关闭。这种模式适用于有状态服务,如会话。

#定义转发分配规则上游myapp1 { ip _ hash# #确保每个请求都有一个固定的访问后端服务器服务器srv1.com;服务器srv2.com:8088;服务器192 . 168 . 0 . 100:8088;}

3.nginx负载均衡构建示例本示例使用一台nginx作为负载均衡服务器,两台tomcat作为web服务器;您可以在一台机器上构建所有三个服务,或者您可以使用虚拟机来模拟三台机器,然后测试它们。这里,教程只在一台机器上构建,并且是通过默认的weight方法配置的。

3.1 tomcat配置解压两个tomcat,配置相应的端口,然后在webapps目录下创建一个测试目录,然后在测试目录下创建一个index.html文件,随便写一些内容。应该区分两个Tomcats中测试目录下的index.html文件的内容,比如写111111/222222,如下图所示。

负载均衡全过程使用nginx(Linux版nginx负载均衡配置详解)-主机频道

负载均衡全过程使用nginx(Linux版nginx负载均衡配置详解)-主机频道

3.2 nginx的配置:首先安装nginx。请参考安装教程。

https://www.jb51.net/article/231249.htm

安装完成后,进入nginx目录下的conf目录,编辑nginx.conf文件,修改内容添加到http节点下。

上游tomcat {#该部分与服务器节点同级的服务器tomcat服务的IP相同:tomcat服务的端口号;服务器tomcat服务的IP:Tomcat服务的端口号;}在服务器节点下的位置/节点中,设置缺省值

location/{ root html;索引index.html index.htm;}修改为

location/{ proxy _ pass http://Tomcat;}然后启动两个tomcat和nginx服务,在浏览器中输入nginx服务的地址:端口,不断刷新页面,可以看到每次请求的服务器都有变化。

综上所述,这篇关于使用nginx进行负载均衡的文章就介绍到这里。关于nginx负载均衡的更多信息,请搜索主机频道zhujipindao之前的文章。或者继续浏览下面的相关文章。希望大家支持主机频道zhujipindao。以后多来com!

未经允许不得转载:主机频道 » 负载均衡全过程使用nginx(Linux版nginx负载均衡配置详解)

评论 抢沙发

评论前必须登录!