Nginx-tomcat-redis------负载均衡以及session共享

测试环境

  Nginx 1.10.1

  tomcat 7.0.70

  Redis-x64-3.2.100

说明 tomcat 8 和 redis 实现session共享 有问题。

  寻找源码 发现tomcat8 中的 catalina.jar 已经没有了 org.apache.catalina.util.LifecycleSupport 这个类。

然而这个类在redis的启动中需要加载,所以就一直报错 java.lang.NoClassDefFoundError: org/apache/catalina/util/LifecycleSupport

  lz 很无奈,只好只用了tomcat7 版本,

  这是redis 的官方说明 https://github.com/jcoleman/tomcat-redis-session-manager

  好了 进入正题

  第一步 安装 在windows  下安装 redis

  参考 : http://blog.csdn.net/renfufei/article/details/38474435

  下载地址 :https://github.com/MSOpenTech/redis

  下载或解压即可 启动命令: redis-server  redis.windows.conf

  

  第二步,配置nginx 负载均衡 配置文件位置(D:\nginx-1.10.1\nginx-1.10.1\conf)

http {
    ...
    #tomcat负载均衡
    upstream mytomcats{
    server 127.0.0.1:8080;
    server 127.0.0.1:9090;
    }
    ...
    server {
        ...
        listen       80;
        server_name  localhost;
        location / {
        proxy_pass http://mytomcats;
        }
        ...
}

之后启动

  第三步 配置 集群tomcat

准备两份tomcat

分别修改tomcat的端口号 一个为默认的8080  另外一个修改为9090

(D:\apache-tomcat-7.0.70-windows-x64\apache-tomcat-7.0.70-8080\conf\server.xml)

<Server port="9005" shutdown="SHUTDOWN">
<Connector port="9090" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
<Connector port="9009" protocol="AJP/1.3" redirectPort="8443" />

  

分别在两个tomcat中的context.xml 中的 context段中添加一下内容

(D:\apache-tomcat-7.0.70-windows-x64\apache-tomcat-7.0.70-8080\conf\context.xml)

    <Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" />
    <Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager"
             host="localhost"
             port="6379"
             database="0"
             maxInactiveInterval="60" />

最后分别在tomcat的lib文件下添加 redis 的相关依赖jar  commons-pool-1.5.4.jar   jedis-2.6.2.jar  tomcat-redis-session-manager1.2.jar

tomcat 中项目zzxt  中的首页index.jsp  内容如下

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
	<%=session.getId()%><br>
	<%
		String msg = (String) session.getAttribute("msg");
		if (null == msg) {
			session.setAttribute("msg", "Hello!");
		} else {
			session.setAttribute("msg", msg + 0);
		}
	%>
	<%=session.getAttribute("msg")%>
</body>
</html>

  分别启动tomcat 成功

测试结果:

成功,请求分别进入到两个tomcat中 进行轮训处理

  

时间: 08-20

Nginx-tomcat-redis------负载均衡以及session共享的相关文章

nginx+tomcat+redis负载均衡及session共享

概述 本文档是用来详细描述 nginx+tomcat+redis负载均衡实现session共享 所需软件及下载地址 软件名称 下载地址 功能说明 Nginx-v1.6.0 http://nginx.org/download/nginx-1.6.0.tar.gz 负载均衡 commons-pool-2-2.4.2.jar http://mirrors.hust.edu.cn/apache//commons/pool/binaries/commons-pool2-2.4.2-bin.tar.gz j

nginx+tomcat+redis负载均衡,实现session共享

实验环境: 系统: centos 7.4 3.10.0-327.el7.x86_64 docker: 18.03.0-ce docker-compose:docker-compose version 1.21.0 redis: 4.0.9 nginx: 1.12.2 tomcat:8.5.30 jdk:1.8.161 基础理论 session 统一方案:1.单机的session会话保持机制如nginx的ip-hash,如果单个机器下线,那么session将会全部丢失2.session共享,如to

nginx之 nginx + tomcat + redis 负载均衡且session一致性

说明: 本文描述的是 nginx + tomcat + redis 实现应用负载均衡且满足session一致性,从安装到配置的全部过程,供大家学习!nginx 代理服务器ip: 10.219.24.26tomcat_1 应用服务器ip与端口: 10.219.24.21:8080 tomcat_2 应用服务器ip与端口: 10.219.24.21:8081redis 缓存服务器ip: 10.219.24.23 一. nginx-1.9.7 编译安装 下载地址: http://nginx.org/d

nginx+tomcat实现负载均衡以及session共享(linux centos7环境)

一.nginx的安装 1.准备三份tomcat tomcat1 设置端口 8080 tomcat2 设置端口 8081 tomcat3 设置端口 8082 2. 下载nginx 3. 解压到/home目录下 并重命名为nginx 4. cd /home/nginx  进入nginx目录 5. ./configure --with-http_stub_status_module 进行初始化配置. 如提示PCRE错误,需要手动安装PCRE,见 http://www.linuxidc.com/Linu

Nginx+Tomcat+Memcached负载均衡和session共享

1. 演示搭建 说明:本文参考网络日志http://blog.csdn.net/remote_roamer/article/details/51133790,结合实际操作,仅做个演示记录. 1.1. 工具 1.Tomcat两个 2.Memcached 3.Nginx 如图: 1.2. 结果演示 1.打开浏览器访问http://localhost:8080/index.jsp 1.3. 配置 1.3.1. 安装Nginx 1.准备nginx,解压即可 2.配置打开nginx目录下的conf/ngi

haproxy+tomcat实现负载均衡以及session共享(linux centos7环境)

一.安装HAProxy 1.进入home目录,下载最新haproxy安装包. cd /home wget http://haproxy.1wt.eu/download/1.4/src/haproxy-1.4.24.tar.gz 2.解压: tar -zxvf haproxy-1.4.24.tar.gz 重命名为haproxy mv haproxy-1.4.24.tar.gz haproxy 创建目录/usr/local/haproxy mkdir /usr/local/haproxy 3.安装

nginx+tomcat+redis的集群+session共享

环境准备 1.tomcat版本:tomcat7 tomcat下载及安装,目前很多好的资源和步骤,此处省略. 2.jdk版本:jdk1.7 jdk下载及安装,目前很多好的资源和步骤,此处省略. 3.redis版本以及下载地址.安装步骤 wget http://download.redis.io/redis-stable.tar.gztar xvzf redis-stable.tar.gzcd redis-stablemake 前面3步应该没有问题,主要的问题是执行make的时候,出现了异常.异常一

Nginx+Tomcat+Memcache实现负载均衡及Session共享

第一部分 环境介绍 部署环境: Host1:Nginx.Memcached.Tomcat1 Host2:Tomcat2 Tomcat_version:8.0.38 第二部分 Nginx+Tomcat实现负载均衡 1.nginx及tomcat的安装省略 2.nginx负载均衡配置: http标签中定义tomcat集群: upstream tomcat_server { server 101.200.229.38:8080; server 101.200.162.214:8080; } server

windows使用nginx+memcached实现负载均衡和session或者缓存共享

windows使用nginx+memcached实现负载均衡和session或者缓存共享 两台服务器 服务器1:115.29.186.215 windows2008 64位操作系统 服务器2:114.215.193.64 windows2008 32位操作系统 其中服务器1同时做nginx负载均衡服务器 使用概要:由于两台服务器:所以数据库连接可以使用一台服务器: 由于本人使用的ibatis框架:所以在数据库层使用ibatis Cache 这样就可以使用一台sql服务器:两台服务器访问都是缓存数

Nginx+Tomcat+Memcached负载均衡配置完整流程(多方总结,亲测可用)

Nginx+Tomcat+Memcached负载均衡配置完整流程: 前言: Nginx实现Tomcat的负载均衡和利用memcached实现session共享. 首先配置tomcat,JDK 将jdk,tomcat 放入站点/opt目录中 安装JDK cd /opt chmod 755 jdk-6u45-linux-x64-rpm.bin ./jdk-6u45-linux-x64-rpm.bin java -version      //检验版本 安装Tomcat tar -zxf apache