java:tomcat(负载均衡)nginx的应用配置

时间:2022-06-04 20:05:54

http://mini.eastday.com/mobile/180627012211514.html

1、什么是负载均衡

由于系统各个核心部分随着业务量的提高,访问量和数据流量的快速增长,单一的服务器设备无法承担。这种情况下,如果扔掉现有设备去做大量的硬件升级,将造成现有资源的浪费,而且再面临下一次业务量的提升时,又将导致再一次硬件升级的高额成本投入,性能再卓越的设备也不能长期满足业务量增长的需求。

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

2、负载均衡的种类

1)一种是通过硬件来进行解决,常见的硬件有NetScaler、F5、Radware和Array等商用的负载均衡器,但是它们是比较昂贵的

2)一种是通过软件来进行解决的,常见的软件有LVS、Nginx、apache等,它们是基于Linux系统并且开源的负载均衡策略。

3、创建两台Nginx服务器

我们配置负载均衡的目的是在于当用户访问我们的服务器的时候, 首先会通过 Nginx服务器来决定转发到哪个Tomcat服务器上去给用户提供服务, 当然这个概率是我们通过权重来配置的. 经过Nginx指派之后, 我们就可以处理高并发的访问了, 这里就能达到负载均衡的目的.

4、搭建Nginx

首先我们需要大家两台机器, 两台机器分别安装了Nginx和Tomcat, IP分别为: 192.168.200.129. 192.168.200.130

java:tomcat(负载均衡)nginx的应用配置java:tomcat(负载均衡)nginx的应用配置

接着我们需要将Nginx和Tomcat包分别拷贝到CentOS01和CentOS02上, 并且解压好, 这里就不再复述这个过程了.

然后我们需要关闭Linux的防火墙, 否则的话启动了Nginx也是连接不上的.

java:tomcat(负载均衡)nginx的应用配置

我们还是来再看下解压吧:

java:tomcat(负载均衡)nginx的应用配置

解压完之后我们需要编译安装:

java:tomcat(负载均衡)nginx的应用配置

注意:上边将临时文件目录指定为/var/temp/nginx,需要在/var下创建temp及nginx目录mkdir -p /var/temp/nginx

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

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

java:tomcat(负载均衡)nginx的应用配置

然后使用Make命令, 运行结束后在使用Make install命令进行安装, 最后是启动Nginx:

java:tomcat(负载均衡)nginx的应用配置

查看是否启动成功:

java:tomcat(负载均衡)nginx的应用配置

配置反向服务代理器:

什么是反向服务呢? 首先说下正向服务, 例如爬虫程序, 我们主动出击去获取资源. 而反向服务我们是等待用户来访问. 区别在于主动和被动.

配置文件Nginx/conf/nginx.conf

java:tomcat(负载均衡)nginx的应用配置

配置Nginx转发条件

java:tomcat(负载均衡)nginx的应用配置

重启Nginx服务器

java:tomcat(负载均衡)nginx的应用配置

为了测试, 我们在两个Tomcat 服务器的index.jsp中分别加了这是来自于哪个ip下的Tomcat. 如下图所示:

重启好Nginx后, 我们再来访问192.168.200.129 这台机器, 我么可以发现其实访问的是129.168.200.130这台机器.

java:tomcat(负载均衡)nginx的应用配置

负债均衡的配置, 配置转发的权重: (另一台CentOS02 依然按照CentOS01的配置)

java:tomcat(负载均衡)nginx的应用配置

我们在这里配置了两台转发机器: 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的负载均衡: