Nginx   发布时间:2019-11-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Nginx负载均衡的详细配置及使用案例详解.大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

感谢看过这一些列博文和评论的小伙伴,我把自己所看到的学到的拿到这里来分享是想和大家一起学习进步,想听听园友给出的意见,也是对自己学习过程的一个总结. 1,话不多说,这里我们来说下很重要的负载均衡,那么什么是负载均衡呢? 

对此情况而衍生出来的一种廉价有效透明的方法以扩展现有网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性的技术就是负载均衡(Load Balance)。

2,负载均衡的种类

但是它们是比较昂贵的3,这里我们只来说Nginx(其他的大家有兴趣可以自行查阅相关文档)

ENGIne x)是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。由俄罗斯的程序设计师Igor Sysoev(伊戈尔·西索夫)所开发,供俄国大型的入口网站及搜索引擎Rambler(漫步者)(俄文:Рамблер)使用。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用Nginx网站用户有:新浪、网易、 腾讯等。x是Apache服务器不错的替代品Nginx在美国是做虚拟主机生意的老板们经常选择的软件平台之一。能够支持高达 50,000 个并发连接数的响应4,创建两台Nginx服务器由于自己在自己电脑上搭建,所以 现在只模拟搭建两台Nginx服务器. 

使用Nginx那么就必须满足上面的四个条件.我们配置负载均衡的目的是在于当用户访问我们的服务器的时候,首先会通过 Nginx服务器来决定转发到哪个tomcat服务器上去给用户提供服务,当然这个概率是我们通过权重来配置的. 经过Nginx指派之后,我们就可以处理高并发的访问了,这里就能达到负载均衡的目的.5,搭建Nginx首先我们需要大家两台机器,两台机器分别安装了Nginx和tomcat,IP分别为: 192.168.200.129. 192.168.200.130https://cn.js-code.com/res/2019/02-14/22/9d1f6143edc4a5eb9d26b4992e586ca1.png" alt="">https://cn.js-code.com/res/2019/02-14/22/9deab65cc198871e65926b45f8d58c49.png" alt="">

接着我们需要将Nginx和tomcat包分别拷贝到CentOS01和CentOs02上,并且解压好,这里就不再复述这个过程了.然后我们需要关闭Linux的防火墙,否则的话启动了Nginx也是连接不上的.

title="Nginx负载均衡的详细配置及使用案例详解." alt="Nginx负载均衡的详细配置及使用案例详解." src="https://cn.js-code.com/res/2019/02-14/22/de2edd6d596b48e78f6e746d750ca015.png" >

title="Nginx负载均衡的详细配置及使用案例详解." alt="Nginx负载均衡的详细配置及使用案例详解." src="https://cn.js-code.com/res/2019/02-14/22/140db663fe6f9941465b4b340252f5ca.png" >

./ --prefix=/usr/local/ --pid-path=/var/run/nginx/ --lock-path=/var/lock/ --error-log-path=/var/log/nginx/ --http-log-path=/var/log/nginx/s.log \ --with-http_gzip_static_module \ --http-client-body-temp-path=/var/temp/nginx/ --http-proxy-temp-path=/var/temp/nginx/ --http-fastcgi-temp-path=/var/temp/nginx/ --http-uwsgi-temp-path=/var/temp/nginx/ --http-scgi-temp-path=/var/temp/nginx/scgi

title="Nginx负载均衡的详细配置及使用案例详解." alt="Nginx负载均衡的详细配置及使用案例详解." src="https://cn.js-code.com/res/2019/02-14/22/81f1a726bbb2522c3b7e78b6fef383ff.png" >

执行完上诉步骤后,我们可以看到nginx目录下生成了Makefile文件,我们接着往下: 

title="Nginx负载均衡的详细配置及使用案例详解." alt="Nginx负载均衡的详细配置及使用案例详解." src="https://cn.js-code.com/res/2019/02-14/22/1b4c4fdbe522dcafc1ce2d53fec8e741.png" >然后使用

命令,运行结束后在使用Make install命令进行安装,最后是启动Nginx:https://cn.js-code.com/res/2019/02-14/22/13d95cdedf13abfc4af284d9bf6d351a.png" alt="">查看是否启动成功:https://cn.js-code.com/res/2019/02-14/22/add31ce7bc54f6dc921a53caae1b6e04.png" alt="">配置反向服务代理器:什么是反向服务呢? 首先说下正向服务,例如爬虫程序,我们主动出击去获取资源. 而反向服务我们是等待用户来访问. 区别在于主动和被动.配置文件Nginx/conf/nginx.confhttps://cn.js-code.com/res/2019/02-14/22/74e0be5ef4d2273b445642d8b43480cf.png" alt="">配置Nginx转发条件https://cn.js-code.com/res/2019/02-14/22/adc5b6e431be3b9998ba12b358a0cc0b.png" alt="">重启Nginx服务器https://cn.js-code.com/res/2019/02-14/22/aa4d046e61ffd07217bf650102d7339b.png" alt="">为了测试,我们在两个tomcat 服务器的index.jsp中分别加了这是来自于哪个ip下的tomcat. 如下图所示:https://cn.js-code.com/res/2019/02-14/22/a2e6da7462c57d7117d9945ba24159b6.png" alt="">https://cn.js-code.com/res/2019/02-14/22/d01a6e0b4883dd62e3b0c48de6f8f76d.png" alt="">重启好Nginx后,我们再来访问192.168.200.129 这台机器,我么可以发现其实访问的是129.168.200.130这台机器.https://cn.js-code.com/res/2019/02-14/22/c6fe8d4c3d200c617afa43c24a4289cb.png" alt="">负债均衡的配置,配置转发的权重: (另一台CentOs02 依然按照CentOS01的配置)https://cn.js-code.com/res/2019/02-14/22/aa45e0ab91ff507443f7a2380104e2e1.png" alt="">我们在这里配置了两台转发机器: 192.168.200.129和192.168.200.130,它们的权重分别是2/3 和1/3,也就是说访问三次192.168.200.129,有两次是192.168.200.129上的tomcat来处理,有一次是192.168.200.130上的tomcat来处理. 如果我们的tomcat服务器更多 那么就需要在这里配置更多,权重根据实际需求来划分.同上,搭建另一台机器192.168.200.130的负载均衡:

title="Nginx负载均衡的详细配置及使用案例详解." alt="Nginx负载均衡的详细配置及使用案例详解." src="https://cn.js-code.com/res/2019/02-14/22/4629edc3c67325d0ebc86cbaee5b7937.png" >搭建Keepalived:(Keepalived需要依赖openssl)

https://cn.js-code.com/res/2019/02-14/22/0a669fbdcbe87319b16225b79deb408a.png" alt="">Keepalived原理:https://cn.js-code.com/res/2019/02-14/22/6be0e117bff4ade58a4bfbe3ab3e9556.png" alt="">首先Keepalived可以在主机上产生一个虚拟的ip,这里叫做vip(v是virtual的意思):192.168.200.150,keepalived会将这个vip绑定到交换机上.当用户访问主机:192.168.200.129时,交换机会通过这个ip和vip的对应找到192.168.200.129上的Nginx进行处理.如果当有一天192.168.200.129上的Nginx挂掉的时候,Keepalived会立即在备机上生成一个相同的vip: 192.168.200.150,当用户继续访问192.168.200.129时,交换机上已经绑定了vip,这时发现这个vip是存在于192.168.200.130上面的,所以直接将请求转发到了备机上. 如果主机被修复好能够继续对外提供服务时,这时keepalived会将主机上继续生成这个vip,同时回收在备机上生成的vip. 这个是通过心跳检查来判断主机已恢复使用.我这里已经提前安装好了oppenssl,关于具体安装方法大家可以自行百度. 检查openssl 是否安装成功: 

title="Nginx负载均衡的详细配置及使用案例详解." alt="Nginx负载均衡的详细配置及使用案例详解." src="https://cn.js-code.com/res/2019/02-14/22/31a5a655cbb72b78607c2de8e6ad7186.png" >

Keepalived的安装命令:https://cn.js-code.com/res/2019/02-14/22/3414622c8a252fe7dd31bdf0cd08176a.png" alt="">查看Keepalived的安装目录:https://cn.js-code.com/res/2019/02-14/22/2ae04268fddaf66b91fa9ca37e27f4c8.png" alt="">编辑Keepalived的配置文件:

title="Nginx负载均衡的详细配置及使用案例详解." alt="Nginx负载均衡的详细配置及使用案例详解." src="https://cn.js-code.com/res/2019/02-14/22/eb92644d4dbca65ffd7e904492c31ffe.png" >

首先我们来清空配置文件(清空后会自动再生成一个keepalived.conf,但是里面的内容为空)关于为什么要清空,因为我们已经配置好了一些相关内容,直接使用即可.

title="Nginx负载均衡的详细配置及使用案例详解." alt="Nginx负载均衡的详细配置及使用案例详解." src="https://cn.js-code.com/res/2019/02-14/22/1a519105dbeda1ea835de695bc787f8e.png" >

这里是来设置:因为我的CentOS是拷贝过来的,所以这里是eth1,关于怎么查看,我们在文章开头有查看本机ip: ifconfig,那里面有显示我们的网卡就是eth1.https://cn.js-code.com/res/2019/02-14/22/107eb3d331ad1164a5a9f899af7877ce.png" alt="">https://cn.js-code.com/res/2019/02-14/22/c392f465588b758b001ffc5f8bc441ce.png" alt="">配置完成之后,启动keepalived:https://cn.js-code.com/res/2019/02-14/22/cc85089aabe86409dbb405f67c136177.png" alt="">检测Keepalived是否启动成功:https://cn.js-code.com/res/2019/02-14/22/09f97437b5aeb1f39adc1158c337781d.png" alt="">这里查看 我们的机器多了两个ip,其实这两个ip都是虚拟ip设置备机:|这里的权重只要低于主机的100就好.https://cn.js-code.com/res/2019/02-14/22/aebdcac2d1ce663ebad08afd8c349421.png" alt="">启动备机的Keepalived:https://cn.js-code.com/res/2019/02-14/22/6b2a6c0485e729edb4e2b44968faebb7.png" alt="">当主机停止服务时,备机即可接管继续服务:https://cn.js-code.com/res/2019/02-14/22/21ddb280795fed677147679da5915d35.png" alt="">关于Nginx的内容大概就是这么多了,我这里是一步步配置且通过验证的,如果大家哪里有疑问都可以回复留言.

大佬总结

以上是大佬教程为你收集整理的Nginx负载均衡的详细配置及使用案例详解.全部内容,希望文章能够帮你解决Nginx负载均衡的详细配置及使用案例详解.所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: