tomcat redis session共享(包含redis安全设置)

一、redis安装(我的环境centos6.5) 已安装可以跳过

1、下载:http://download.redis.io/releases/redis-2.8.19.tar.gz

2、编译源程序:

解压:tar zxvf redis-2.8.19.tar.gz

tar zxvf redis-2.8.19.tar.gz

cd redis-2.8.19/src

编译:如果没有gcc就执行一下 yum install gcc gcc-c++ -y

make

.......省略编译过程,内容太多了.............

CC redis-check-dump.o

LINK redis-check-dump

CC redis-check-aof.o

LINK redis-check-aof

Hint: It‘s a good idea to run ‘make test‘ ;)

然后执行make install编译安装

make install

Hint: It‘s a good idea to run ‘make test‘ ;)

INSTALL install

INSTALL install

INSTALL install

INSTALL install

INSTALL install

3、安装完成后,src下 就会生成redis的命令文件:(我这里放在usr的local下)

创建两个文件夹,bin存放命令文件,etc存放配置文件(可以根据自己规划而定)

mkdir -p /usr/local/redis/bin

mkdir -p /usr/local/redis/etc

移动配置文件:将redis-2.8.19目录下的redis.conf移动到 /usr/local/redis/etc/

并将src目录下的7个命令文件(mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-sentinel redis-server),移动到/usr/local/redis/bin/

ls (查看redis-2.8.19文件目录)

00-RELEASENOTES  COPYING  Makefile   redis.conf        sentinel.conf  utils

BUGS             deps     MANIFESTO  runtest           src

CONTRIBUTING     INSTALL  README     runtest-sentinel  tests

mv ./redis.conf /usr/local/redis/etc/ (移动配置文件到自己新建的etc目录下)

cd src

mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-sentinel redis-server /usr/local/redis/bin/

4、启动Redis服务:

进入自己新建的redis bin目录/usr/local/redis/bin:

[[email protected] src]$ cd /usr/local/redis/bin

[[email protected] bin]$ ls

mkreleasehdr.sh  redis-check-aof   redis-cli       redis-server

redis-benchmark  redis-check-dump  redis-sentinel

启动:redis服务需要用到命令redis-server(进入到/usr/local/redis/bin 目录下)

加一个& 为后台启动

cd /usr/local/redis/bin

./redis-server /usr/local/redis/etc/redis.conf &

省略启动内容

[13054] 15 Mar 22:36:47.952 * The server is now ready to accept connections on port 6379

redis安全:

配置:

#禁止远程修改DB地址

rename-command FLUSHALL ""

rename-command CONFIG   ""

rename-command EVAL     ""

1、指定redis服务使用的网卡

在 redis.conf 文件中找到 “# bind 127.0.0.1” ,把前面的#号去掉,然后保存。注:修改后只有本机才能访问redis。多ip之间用空格分隔

bind 127.0.0.1 192.168.3.3

2、设置访问密码

在 redis.conf 中找到“requirepass”字段,在后面填上你需要的密码。

requirepass mypassword

3、修改redis服务运行账号

请以较低权限账号运行redis服务,且禁用该账号的登录权限。

注意:redis 需要重启生效。

客户端登录的时候需要 auth mypassword 验证密码才能执行命令

或者在客户端连接是 redis.cli -h 127.0.0.1 -p 6379 -a mypassword

################################################################

二、配置tomcat与redis session共享(注意:为了session共享,至少是两个tomcat ,同一个系统需要server.xml里端口,如果tomcat在各自不同的系统,则不需要)

tomcat7下载地址:http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.65/bin/

解压tomcat

tar -zxvf apache-tomcat-7.0.65.tar

cd apache-tomcat-7.0.65

进入tomcat解压目录的conf配置目录下,编辑context.xml,建立连接池

<Valve className="com.radiadesign.catalina.session.RedisSessionHandlerValve" />

<Manager className="com.radiadesign.catalina.session.RedisSessionManager"

host="localhost"

port="6379"

database="0"

password="123456"

maxInactiveInterval="60"/>

#这里的host是ip或者localhost,port为redis端口,database默认为0,password为密码 如果redis设置密码需要加上,如果没有 可以去掉, maxInactiveInterval 设置session连接超时时间

加入依赖包

最后在tomcat bin目录下加入依赖包(需要jdk7版本,如果没有,先卸载jdk旧版本,下载安装jdk7)

下载jdk7:wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/7u71-b14/jdk-7u71-linux-x64.rpm

下载依赖包,百度云盘共享地址:http://pan.baidu.com/s/1b1CQuU(包括三个依赖包,jdk7,tomcat7)如果云盘失效,可以到我csdn共享页找找http://download.csdn.net/detail/qq_21766233/9761661

依赖包放入bin:

tomcat-redis-session-manager-1.2-tomcat-7-java:用来将 Tomcat 的 Session 数据存储在 Redis 库中的项目

jedis:redis的java客户端

commons-pool:对象池

tomcat-redis-session-manager-1.2-tomcat-7-java-7.jar、jedis-2.1.0.jar、commons-pool-1.6.jar

测试:(写个html,把一下html放入tomcat的webapps下,启动tomcat即可测试,访问其中一个tomcat里的这个页面查看session值,再访问另外一个tomcat的session值,看看是否一致,如果一致,则session成功)

<html>

<head><title>tomcat1</title></head>

<body>

<h1><font color="red">tomcat2.king.com</font></h1>

<table border="1">

<tr>

<td>Session ID</td>

<% session.setAttribute("king.com","king.com"); %>

<td><%= session.getId() %></td>

</tr>

<tr>

<td>Created on</td>

<td><%= session.getCreationTime() %></td>

</tr>

</table>

</body>

</html>

时间: 2024-10-29 19:07:06

tomcat redis session共享(包含redis安全设置)的相关文章

nginx tomcat负载均衡 使用redis session共享

环境准备 1.准备一台nginx服务器 ip192.168.1.133 端口81 安装过程: #首先安装依赖: yum -y install gcc-c++ yum -y install pcre pcre-devel yum -y install zlib zlib-devel yum -y install openssl openssl-devel #注意 : 安装nginx必须使用 root 用户安装 #创建一个nginx目录 mkdir /usr/local/src/nginx #进入到

【电商】nginx+redis+tomcat实现session共享集群

本文记录nginx+redis+tomcat实现session共享的过程 tomcat-redis-session-manager组件:https://github.com/jcoleman/tomcat-redis-session-manager tomcat-redis-sessoin-manager对tomcat的支持: (1) tomcat6:支持,要求jdk为1.6, 需要引入tomcat-redis-session-manager-1.2-tomcat-6.jar,不过现在已经处理不

高级运维(五):构建memcached服务、LNMP+memcached、使用Tomcat设置Session、Tomcat实现session共享

一.构建memcached服务 目标: 本案例要求先快速搭建好一台memcached服务器,并对memcached进行简单的添.删.改.查操作: 1> 安装memcached软件,并启动服务d 2> 使用telnet测试memcached服务 3> 对memcached进行增.删.改.查等操作 方案: 使用1台RHEL7虚拟机作为memcached服务器(192.168.4.5). 在RHEL7系统光盘中包含有memcached,因此需要提前配置yum源,即可直接使用yum安装,客户端测

CentOS7 下 Nginx + Tomcat 实现 Session 共享

在之情的文章中搭建的 centos7 + tomcat + nginx 的环境的基础上, 使用 redis 实现 tomcat 的 session 共享的问题. 一 : 安装 Redis 安装 gcc: yum install -y gcc-c++ 使用 FTP 服务器上传安装包,解压上传的 redis 的包 tar -zxvf redis-3.0.0.tar.gz 进入解压目录 redis-3.0.0 执行 make PREFIX=/usr/local/redis install 把 redi

构建memcached服务,Tomcat实现session共享

构建memcached服务 1.1 问题 本案例要求先快速搭建好一台memcached服务器,并对memcached进行简单的添.删.改.查操作: 安装memcached软件,并启动服务 使用telnet测试memcached服务 对memcached进行增.删.改.查等操作 1.2 方案 使用1台RHEL7虚拟机作为memcached服务器(192.168.4.5). 在RHEL7系统光盘中包含有memcached,因此需要提前配置yum源,即可直接使用yum安装,客户端测试时需要提前安装te

Nginx + tomcat + Memcached(session共享)

Nginx + tomcat + Memcached(session共享) 实验拓扑 nginx   实现负载 tomcat   实现web功能 memcached 实现会话共享 安装Nginx [[email protected] ~]# yum -y install pcre pcre-devel [[email protected] ~]# tar -zxvf nginx-1.0.5.tar.gz [[email protected] ~]# cd nginx-1.0.5 [[email 

N个tomcat实现Session共享

集群之后比如我们有N个Tomcat,用户在访问我们的网站时有可能第一次请求分发到tomcat1下,而第二次请求又分发到了tomcat2下,有过web开发经验的朋友都知道这时session不一致会导致怎样的后果,所以我们需要解决一下多个tomcat之间session共享的问题. 修改index.jsp SessionID:<%=session.getId()%> SessionIP:<%=request.getServerName()%> SessionPort:<%=requ

生产-tomcat的session共享方案

生产-tomcat的session共享方案 在部署nginx+tomcat集群后,nginx采用负载均衡轮训模式,会出现访问时每个tomcat应用都会互相覆盖sessionID,导致sessionID不断变化,从而导致java一些功能实现不正常.作者查阅了不少文档,并且在测试环境和预生产环境进行各类测试,有两种方法可行. 应为目的只是实现session共享,杜绝session不断变化,所以解决方案越简单越好,本文属于实践文档,不会过多涉及原理和技术方面的东东,谷歌有详细相关技术介绍. 1    

VIRGO TOMCAT SERVER +REDIS SESSION 共享 实现

项目基于OSGI规范,使用VIRGO应用服务器, 现在需要做服务器集群,需保证应用服务器无状态. githup上有这样一个东西:tomcat redis session 地址:https://github.com/jcoleman/tomcat-redis-session-manager virgo tomcat server 我们使用的版本是 3.0.5,它使用的tomcat版本为7.0.26 so~下载tomcat7版本的ZIP. 由于是 OSGI环境,SO~下载下来的源码是无法使用的.需要