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

news/2025/2/26 7:09:03

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

1.实验环境

两个企业6的虚拟机和一个企业7的物理机

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

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.具体实现的过程如下

  • (1)在server1上面:
cd /usr/local
ll
scp -r apache-tomcat idk root@172.25.12.2:/usr/local将tomcat服务器的两个目录传给server2虚拟机

在这里插入图片描述

  • (2)在server2上面:
vim /etc/profile
写入java的环境变量
source /etc/profile
java tab
java -version

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

cd /usr/local
ll
ln -s apache-tomcat tomcat

在这里插入图片描述

  • (3)在server1上面:
cd /usr/local/openrestry/nginx/conf
vim nginx.conf

加入
upstream memcache {
server 172.25.12.1:8080;
server 172.25.12.2:8080;
}
在这里插入图片描述
在这里插入图片描述

  • (4)测试
此时在浏览器里面访问172.25.12.1:8080可以访问(因为tomcat服务器默认开启8080端口)
因此可以请求到tomcta的动态资源(通过jsp)
此时不可以在浏览器浏览器里面访问172.25.12.1/index.jsp

在这里插入图片描述
在这里插入图片描述

  • (5)在server2上面:
cd /usr/local
cd tomcat/
ls
cd bin/
./startup.sh

在这里插入图片描述
netstat -tnlp
在这里插入图片描述

  • (6)在server1上面:
cd /usr/local/tomcat/
cd webapps/ROOT/
ls
cat test.isp
把这个文件删除,重新拷贝两个test.jsp给tomcat1和tomcat2个一个(从真机)

在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述

  • (7)在server2上面:
cd /usr/local/tomcat/bin/
./shutdown.sh
./startup.sh
netstat -antlupe

在这里插入图片描述

  • (8)在server1上面:
/usr/local/openresty/nginx/sbin/nginx -s reload
vim /usr/local/openresty/nginx/conf/nginx.conf
http://tomcat;让nginx去轮询两个tomcat服务器(之前是访问自己)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

把/memc模块注释
/usr/local/openresty/nginx/sbin/nginx -s reload
ps ax查看nginx是否开启
netstat -antlupe

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • (9)测试:清空一下浏览器的缓存,开始测试
172.25.12.1/test.jsp这是一个动态页面
发现同一个用户注册信息,轮询两个tomcat服务器,这样会造成用户的数据丢失
就像用户第一次注册了数据,第二次登录说不存在一样
因为第一次注册的数据可能访问的是tomcat1,第二次登录的时候是tomcat2
nginx负责负载均衡,客户根本不知道后台是两个服务器在轮询
此时的两个tomcat服务器之间没有任何关系

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


http://www.niftyadmin.cn/n/2928382.html

相关文章

有道云笔记最新软件下载官方版

2019独角兽企业重金招聘Python工程师标准>>> 有道笔记是网易有道全新推出的云笔记软件,旨在以云存储技术帮助用户建立一个可以轻松访问、安全存储的云笔记空间,解决个人资料和信息跨平台跨地点的管理问题。有道云笔记目前支持安卓手机版&…

lnmp——nginx+sticky粘制模块实现tomcat负载均衡中的会话保持( nginx会话保持之sticky模块)

接下来再使用粘制位sticky来实现会话保持 1.什么是会话保持(Session Persistence)? 在一段时间内将同一客户的某一类型请求绑定至 同一台服务器上,使得这一时间段中该客户端所有该类型请求均由同一服务器进行处理 让一个用户的访…

LNMP架构之动态缓存(nginx +tomcat+memcache) 实现session共享和会话保持——memcache在tomcat中实现session交叉存放

在上一个实验当中,可以实现会话保持了 当其中一个tomcat服务器坏了,由于nginx负载均衡服务器在tomcat1和tomcat2之间实现了轮询 如果用户1在tomcat1服务器上存储的数据,但是当tomcat1这个服务器挂了 客户就会去访问tomcat2的服务器&#xff0…

利用HAProxy实现——负载均衡,添加日志,访问控制,动静分离,读写分离

haproxy类似nginx、apache 均是7层负载:动静分离,比较智能,可以实现高可用负载均衡支持虚拟主机 和nginx很像,但是haproxy(不可以缓存)和nginx(可以缓存),二者都是httpd的…

Android NDK 开发之菜鸟

为什么80%的码农都做不了架构师?>>> 由于本人最近在帮一个朋友看NDK开发,期间遇到过一些不懂的问题,而在网上又没有找到什么好的解决方案;因此记录下来供参考。 首先呢,我使用的工具是Android Studio 一般…

HAproxy七层负载均衡介绍

1.什么是haproxy? HAProxy是一个使用C语言编写的自由及开放源代码软件,其提供高可用性、负载均衡,以及基于TCP和HTTP的应用程序代理 HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理 HAProxy运行在…

jqgrid静态数据获取及显示

2019独角兽企业重金招聘Python工程师标准>>> 引入必要文件 在页面中引入jquery.jqGrid.min.js&#xff0c;jquery.js及相关的样式文件 在页面里面定义 <table></table>用于展示数据的表格区&#xff0c;同时加上一个<div></div>做为分页拦…

新建用户组、用户、用户密码、删除用户组、用户(适合CentOS、Ubuntu系统)

这个知识点&#xff0c;模糊了好久。&#xff01;&#xff01;&#xff01; 生产中&#xff0c;习惯如下&#xff1a; useradd&#xff0c;默认会将自身新建用户&#xff0c;添加到同名的用户组中。如&#xff0c;useradd zhouls&#xff0c;执行此命令后&#xff0c;默认就添加…