lnmp架构——nginx+tomcat动态实现的tomcat服务器之间负载均衡

文章目录

  • 1.实验环境
  • 2.具体实现的过程如下

前言:
之前实现了客户端访问nginx服务器的时候,通过jsp动态获取tomcat服务器上面的资源
接下来 实现nginx做反向代理+tomcat做web服务器实现两个web(tomcat1和tomcat2)之间的负载均衡
并且客户端可以在浏览器动态注册信息,web1和web2轮询
但是没有会话保持,每刷新一次数据就可能会丢失

1.实验环境

两个虚拟机和一台物理机

主机信息 主机功能
虚拟机server1(192.168.0.11) nginx反向代理+tomcat1服务器
虚拟机server2(192.168.0.12) tomcat2服务器

2.具体实现的过程如下

(1)从真机上传别人写好的测试脚本到server1上
在这里插入图片描述
lnmp架构——nginx+tomcat动态实现的tomcat服务器之间负载均衡_第1张图片
lnmp架构——nginx+tomcat动态实现的tomcat服务器之间负载均衡_第2张图片
(2)测试得出实现了简单的用户填写信息功能
lnmp架构——nginx+tomcat动态实现的tomcat服务器之间负载均衡_第3张图片
但以上都是在一台服务器上完成的。
(3)在server2上设置tomcat
在server2上面先获取tomcat目录
将server1的tomcat服务器的两个目录copy到server2虚拟机上
lnmp架构——nginx+tomcat动态实现的tomcat服务器之间负载均衡_第4张图片
在这里插入图片描述
做软连接:
lnmp架构——nginx+tomcat动态实现的tomcat服务器之间负载均衡_第5张图片
写入java的环境变量

[root@server2 local]# vim /etc/profile
写入java的环境变量
source /etc/profile
java tab
java -version

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(4)现在用nginx在server1上设置负载均衡

cd /usr/local/lnmp/nginx/conf
vim nginx.conf
**加入**
upstream tomcat {
     
server 192.168.0.11:8080;
server 192.168.0.12:8080;
}
http://tomcat; #让nginx去轮询两个tomcat服务器

在这里插入图片描述
lnmp架构——nginx+tomcat动态实现的tomcat服务器之间负载均衡_第6张图片
lnmp架构——nginx+tomcat动态实现的tomcat服务器之间负载均衡_第7张图片
语法检测和重新加载
在这里插入图片描述
(5)server2开启tomcat

cd /usr/local/tomcat/bin/
./shutdown.sh
./startup.sh
netstat -antlupe

lnmp架构——nginx+tomcat动态实现的tomcat服务器之间负载均衡_第8张图片
(6)测试

lnmp架构——nginx+tomcat动态实现的tomcat服务器之间负载均衡_第9张图片
lnmp架构——nginx+tomcat动态实现的tomcat服务器之间负载均衡_第10张图片
192.168.0.11/test.jsp这是一个动态页面
发现同一个用户注册信息,轮询两个tomcat服务器,这样会造成用户的数据丢失
就像用户填写注册信息没写完遇到轮询那前面写的信息则不存在
因为前面写的肯访问的是tomcat1,后面写的是在tomcat2
nginx负责负载均衡,客户不知道后台是两个服务器在轮询
此时的两个tomcat服务器之间没有任何关系

这样肯定不行,因此要增加粘滞位

你可能感兴趣的:(lnmp架构——nginx+tomcat动态实现的tomcat服务器之间负载均衡)