memcache+tomcat+nginx实现负载均衡及session共享

一、部署
环境介绍
server1:memcache,tomcat,nginx
server2:tomcat,memcache
所需的软件包
apache-tomcat-8.5.24.tar.gz
tomcat8_memcache_session.jar.zip
jdk-7u79-linux-x64.tar.gz

  1. 安装tomcat
    tomcat要在java环境下,所以要安装jdk
    安装jdk
[root@server2 ~]# tar zxf jdk-7u79-linux-x64.tar.gz -C /usr/local/
[root@server2 ~]# cd /usr/local/

在这里插入图片描述
将java和javac写入全局变量

[root@server2 local]# vim /etc/profile

在这里插入图片描述

[root@server2 local]# source /etc/profile		## 使生效

测试jdk是否安装正确
在这里插入图片描述
安装tomcat

[root@server2 ~]# tar zxf apache-tomcat-8.5.24.tar.gz -C /usr/local/
[root@server2 local]# ln -s apache-tomcat-8.5.24/ tomcat      ## 做软连接

启动服务
在这里插入图片描述
网页测试查看,默认访问8080端口
在这里插入图片描述
memcached安装

[root@server2 ~]# yum install -y memcached

在这里插入图片描述
serve1上进行同样的操作。
这里可将server1上/etc/profile文件直接拷贝到server1的/etc下,这样就不需要再写全局变量,只需要刷新/etc/profile即可,将解压apache-tomcat-8.5.24/拷贝到server1的/usr/local/下,做软连接启动服务,安装memcached,这样server1上就设置完毕。
在这里插入图片描述
在这里插入图片描述
测试server1
启动服务

[root@server1 bin]# ./startup.sh

在这里插入图片描述

这样server2和server1上的tomcat就配置完毕。
session的序列化方案官方推荐的有 4 种:

  1. java serialization
  2. msm-kryo-serializer
  3. msm-javolution-serializer
  4. msm-xstream-serializer
    其中性能最好的序列化方案是 Kryo,此实验我们采用 kryo 方式。
    把如下软件包放置到/usr/local/tomcat/lib 目录中
    kryo-1.03.jar
    kryo-serializers-0.8.jar
    memcached-2.5.jar
    memcached-session-manager-1.5.1.jarmemcached-session-manager-tc7-1.5.1.jar
    minlog-1.2.jar
    msm-kryo-serializer-1.5.1.jar
    reflectasm-0.9.jar
    在这里插入图片描述
    在这里插入图片描述

二、两个tomcat实现负载均衡
这里server1上nginx已经安装过,不再说明安装nginx的过程。

[root@server1 ~]# cd /usr/local/lnmp/nginx/conf/
[root@server1 conf]# vim nginx.conf

以jsp结尾的会去匹配本机的8080端口
在这里插入图片描述
重新加载nginx服务
在这里插入图片描述
访问页面172.25.96.1/index.jsp
在这里插入图片描述
这个页面的位置在/usr/local/tomcat/webapps/ROOT/index.jsp
在这里插入图片描述
在此默认发布目录下编写一个测试页面

[root@server1 ROOT]# echo server1 > test.jsp

测试
在这里插入图片描述
三、实现负载均衡及session共享
sticky-module为nginx的第三方模块,使nginx支持sticky模式,所谓sticky模式,就是指同一个用户的访问请求都被发送到同一个tomcat实例上处理
这里已经安装过nginx,先停止nginx服务,重新编译。
编译的时候指定sticky的解压所在目录

./configure  --prefix=/usr/local/lnmp/nginx  --with-http_ssl_module --with-http_stub_status_module --with-threads --with-file-aio --user=nginx --group=nginx --add-module=/nginx-goodies-nginx-sticky-module-ng-08a395c66e42

覆盖之前的配置文件。
在这里插入图片描述
在这里插入图片描述
修改测试页内容

[root@server1 ROOT]# vim test.jsp

在这里插入图片描述
网站上测试
在这里插入图片描述
在这里插入图片描述
查看server2的日志
在这里插入图片描述

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/oikinkl/article/details/82960006
今日推荐