Nginx负载均衡的详细配置及使用案例详解.

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

快速增长,其处理能力和计算强度也相应地增大,使得单一的服务器设备根本无法承担。在此情况下,如果扔掉现有设备去做大量的硬件升级,这样将造成现有资源的浪费,而且如果再面临下一次业务量的提升时,这又将导致再一次硬件升级的高额成本投入,甚至性能再卓越的设备也不能满足当前业务量增长的需求。 方法以扩展现有网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性的技术就是负载均衡(Load Balance)。

2,负载均衡的种类

解决,常见的硬件有NetScaler、F5、Radware和Array等商用的负载均衡器,但是它们是比较昂贵的解决的,常见的软件有LVS、Nginx、apache等,它们是基于Linux系统并且开源的负载均衡策略.3,这里我们只来说Nginx(其他的大家有兴趣可以自行查阅相关文档)

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

负载均衡的功能:添加Nginx那么就必须满足上面的四个条件.我们配置负载均衡的目的是在于当用户访问我们的服务器的时候,首先会通过 Nginx服务器来决定转发到哪个Tomcat服务器上去给用户提供服务,当然这个概率是我们通过权重来配置的. 经过Nginx指派之后,我们就可以处理高并发的访问了,这里就能达到负载均衡的目的.5,搭建Nginx首先我们需要大家两台机器,两台机器分别安装了Nginx和Tomcat,IP分别为: 192.168.200.129. 192.168.200.130

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

./ --prefix=/usr/local/Nginx \ --pid-path=/var/run/Nginx/Nginx.pid \ --lock-path=/var/lock/Nginx.lock \ --error-log-path=/var/log/Nginx/ --http-log-path=/var/log/Nginx/ --with- --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

文件目录指定为/var/temp/Nginx,需要在/var下创建temp及Nginx目录Nginx

生成了文件夹后我们直接拷贝上面的编译安装命令进行安装.

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

命令,运行结束后在使用Make install命令进行安装,最后是启动Nginx:什么是反向服务呢? 首先说下正向服务,例如爬虫程序,我们主动出击去获取资源. 而反向服务我们是等待用户来访问. 区别在于主动和被动.配置文件Nginx/conf/Nginx.confNginx转发条件Nginx服务器Nginx后,我们再来访问192.168.200.129 这台机器,我么可以发现其实访问的是129.168.200.130这台机器.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负载均衡:

Nginx进行转发呢? 怎么设置主机和备机呢? 如果主机死了怎么进行故障移除呢? 如果主机从不可用到可用状态又怎么进行恢复添加呢? 这些功能都是可以通过Keepalived来进行设置的.

用户访问主机: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 是否安装成功: 

Keepalived的安装命令:配置文件:

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

这里是来设置:因为我的CentOS是拷贝过来的,所以这里是eth1,关于怎么查看,我们在文章开头有查看本机ip: ifconfig,那里面有显示我们的网卡就是eth1.Nginx的内容大概就是这么多了,我这里是一步步配置且通过验证的,如果大家哪里有疑问都可以回复留言.

相关文章

一、Linux下Nginx的安装 1.去官网 http://nginx.org/download/下载对应的Nginx安装包,推荐使...
一、空格:默认匹配、普通匹配 location / { root /home; } 二、= :精确匹配(表示匹配到 /home/resou...
``` nginx -c 配置文件路径 ``` ``` /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.con...
前言 nginx可所谓是如今最好用的软件级别的负载均衡了。通过nginx的高性能,并发能力强,占用内存下的特...
1.ngnix概念 Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄...
博客园从今天上午就开始报502错误 , 他的原因还不知道 , 暂时先说下我们遇到502的排查情况 最大的可能性...