实验环境搭建:
- 两台主机主机名分别为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
tar zxf apache-tomcat-7.0.37.tar.gz
解压到当前目录,rpm -ivh jdk-8u121-linux-x64.rpm
安装jdk包- 进入到解压目录下的bin目录,执行
bin/startup.sh
启动tomcat 服务, 该服务默认开启的是8080端口,可以访问测试,默认会访问他的测试页面
nginx + tomcat
由于tomcat 开启的端口是8080,而一般浏览器都是默认使用的80端口,为了使用更加方便,可以通过nginx的反向代理来实现更加方便的访问tomcat.
链接: nginx的源码安装
实现步骤:
- 编辑nginx 的配置文件
可以添加一个虚拟主机用于测试:
在宿主机上做好解析,之后测试
nginx + tomcat + memcache
作用: 实现负载均衡和session共享
实现步骤
jar包: 该版本对应的jar包提取码: p8eg
- 修改nginx 服务的主配置文件,
修改1:
- 将jia包安装到tomcat 的解压目录下的lib目录中
- 修改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"
/>
- 用解压目录bin 目录下的
startup.sh
和shutdown.sh
完成重启,将整个tomcat解压后的整个目录发送给server1主机。在server1修改tomcat目录中config目录下的context.xml文件
然后利用二进制脚本文件启动服务
注: 因为两边都需要用到memcached 所以两台主机都必须下载memcached服务并且开启
测试
需要用到的一个测试文件:链接: test.jsp 提取码: 22cd
- 将该文件放入到两台主机的tomcat解压目录下的
webapps/ROOT
目录下
- 访问测试
此时访问的是server1的tomcat 中的test.jsp,采用的是交叉方式存储数据,所以当存入数据时,应该在主机lnmp上内存中,测试:
当down 掉当前正在响应的 tomcat 实例,nginx 会自动把用户的请求调度到另一个 tomcat 实例上,同时 session 也没有丢掉。