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

1、redis安裝(個人環境centos6.5) 已安裝能夠跳過html

一、下載:http://download.redis.io/releases/redis-2.8.19.tar.gzjava

二、編譯源程序:linux

解壓:tar zxvf redis-2.8.19.tar.gzc++

tar zxvf redis-2.8.19.tar.gzweb

cd redis-2.8.19/srcredis

編譯:若是沒有gcc就執行一下 yum install gcc gcc-c++ -yapache

makecentos

.......省略編譯過程,內容太多了.............tomcat

    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

三、安裝完成後,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/

四、啓動Redis服務:

進入本身新建的redis bin目錄/usr/local/redis/bin

[neil@neilhost src]$ cd /usr/local/redis/bin

[neil@neilhost 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     ""

一、指定redis服務使用的網卡

 redis.conf 文件中找到 「# bind 127.0.0.1」 ,把前面的#號去掉,而後保存。注:修改後只有本機才能訪問redis。多ip之間用空格分隔

bind 127.0.0.1 192.168.3.3

二、設置訪問密碼

 redis.conf 中找到「requirepass」字段,在後面填上你須要的密碼。

requirepass mypassword

三、修改redis服務運行帳號

請以較低權限帳號運行redis服務,且禁用該帳號的登陸權限。

注意:redis 須要重啓生效。

客戶端登陸的時候須要 auth mypassword 驗證密碼才能執行命令

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

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

2、配置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數據存儲在reids庫的項目中

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>

相關文章
相關標籤/搜索