一、什么是负载均衡
由于目前现有网络的各个核心部分随着业务量的提高,访问量和数据流量的快速增长,其处理能力和计算强度也相应地增大,使得单一的服务器设备根本无法承担。针对此情况而衍生出来的一种廉价有效透明的方法以扩展现有网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性的技术就是负载均衡(Load Balance)。
二、Nginx
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:新浪、网易、 腾讯等。
优点:
1:可运行linux,并有 Windows 移植版。
2:在高连接并发的情况下,Nginx是Apache服务器不错的替代品Nginx在美国是做虚拟主机生意的老板们经常选择的软件平台之一。能够支持高达 50,000 个并发连接数的响应
我们配置负载均衡的目的是在于当用户访问我们的服务器的时候, 首先会通过 Nginx服务器来决定转发到哪个Tomcat服务器上去给用户提供服务, 当然这个概率是我们通过权重来配置的. 经过Nginx指派之后, 我们就可以处理高并发的访问了, 这里就能达到负载均衡的目的.
三、演示
1. 首先我们需要大家两台机器CentOS7, 两台机器分别安装了Nginx和Tomcat, IP分别为: 192.168.216.128. 192.168.216.137
2. nginx的安装
#安装依赖
yum install gcc-c++
yum install pcre pcre-devel
yum install zlib zlib-devel
yum install openssl-devel
#正式安装
cd /usr/local
yum -y install wget
wget http://nginx.org/download/nginx-1.7.4.tar.gz
tar -zxvf nginx-1.7.4.tar.gz
mkdir nginx
cd nginx-1.7.4
./configure --prefix=/usr/local/nginx
yum -y install gcc automake autoconf libtool make
make
make install
验证nginx是否安装成功:
3. tomcat服务器上传解压即可
4. 配置反向服务代理器
配置文件目录:
在192.168.216.128的虚拟机上做下面的配置:
拦截192.168.216.128这台机器上配置的Nginx接收到的所有请求被转发到192.168.216.137这台机器上端口号是8080 的tomcat去处理!
5. 重启nginx、测试
我在192.168.216.128上没有开启tomcat服务器,只有137机器上开启了tomcat服务器,所以访问到了!而且可以去看137机器上的tomcat日志。
6. 负债均衡的配置, 配置转发的权重
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服务器更多 那么就需要在这里配置更多, 权重根据实际需求来划分。