tomcat+nginx+memcache实现对tomcat服务的负载均衡和session共享

实验环境搭建

  • 两台主机主机名分别为lnmp 和 server1 , ip地址分别为172.25.3.199和172.25.3.1

什么是tomcat?

由Apache组织提供的一种Web服务器,提供对jsp和Servlet的支持。它是一种轻量级的javaWeb容器(服务器),也是当前应用最广的JavaWeb服务器(免费)。

tomcat7.0.37 源码安装

源码包: 链接: tomcat7.0.37 提取码: 4jet
jdk工具包: 链接: jdk工具包提取码: b2d8

  1. tar zxf apache-tomcat-7.0.37.tar.gz 解压到当前目录, rpm -ivh jdk-8u121-linux-x64.rpm安装jdk包
  2. 进入到解压目录下的bin目录,执行bin/startup.sh 启动tomcat 服务, 该服务默认开启的是8080端口,可以访问测试,默认会访问他的测试页面
    在这里插入图片描述

nginx + tomcat

由于tomcat 开启的端口是8080,而一般浏览器都是默认使用的80端口,为了使用更加方便,可以通过nginx的反向代理来实现更加方便的访问tomcat.
链接: nginx的源码安装
实现步骤:

  1. 编辑nginx 的配置文件
    可以添加一个虚拟主机用于测试:
    在这里插入图片描述
    在宿主机上做好解析,之后测试
    在这里插入图片描述

nginx + tomcat + memcache

作用: 实现负载均衡和session共享

实现步骤

jar包: 该版本对应的jar包提取码: p8eg

  1. 修改nginx 服务的主配置文件,
    修改1:在这里插入图片描述
    在这里插入图片描述
  1. 将jia包安装到tomcat 的解压目录下的lib目录中
    在这里插入图片描述
  1. 修改tomcat 解压目录中conf/context.xml
    添加内容
    在这里插入图片描述

内容:

<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
memcachedNodes="n1:172.25.3.199:11211,n2:172.25.3.1:11211"
failoverNodes="n1"  
requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"
transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"
/>
  1. 用解压目录bin 目录下的startup.shshutdown.sh 完成重启,将整个tomcat解压后的整个目录发送给server1主机。在server1修改tomcat目录中config目录下的context.xml文件
    在这里插入图片描述
    然后利用二进制脚本文件启动服务

注: 因为两边都需要用到memcached 所以两台主机都必须下载memcached服务并且开启

测试

需要用到的一个测试文件:链接: test.jsp 提取码: 22cd

  1. 将该文件放入到两台主机的tomcat解压目录下的 webapps/ROOT目录下
  1. 访问测试
    在这里插入图片描述
    此时访问的是server1的tomcat 中的test.jsp,采用的是交叉方式存储数据,所以当存入数据时,应该在主机lnmp上内存中,测试:在这里插入图片描述

当down 掉当前正在响应的 tomcat 实例,nginx 会自动把用户的请求调度到另一个 tomcat 实例上,同时 session 也没有丢掉。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值