Tomcat 集羣使用redis共享session

有時咱們會遇到一個大點的項目,爲了方便實現有些功能,咱們會把項目拆成不一樣的獨立web項目。但咱們在管理這些項目時,只有一個登錄口,而後在其餘項目取session來實現身份的驗證。nginx

1,使用nginx作負載均衡git

<1>安裝nginx sudo rpm -ivh nginx-1.4.2-1.el6.ngx.x86_64.rpm
github

<2>配置nginxweb

修改配置文件/etc/nginx/nginx.conf,並添加下面的內容:
redis

  1. http {  
  2. upstream tomcat  {  
  3.         server localhost:8080;  
  4.         server localhost:8081;  
  5.     }  
  6. include       /etc/nginx/mime.types;  
  7. default_type  application/octet-stream;

修改配置文件/etc/nginx/conf.d/default.conf並替換location部分的內容:tomcat

  1. location / {  
  2.     proxy_pass  http://tomcat;  
  3.   }

重啓nginxsession

sudo service nginx restartapp

2,咱們要使用tomcat-redis-session-manager這樣的第三方庫,主頁見:負載均衡

https://github.com/jcoleman/tomcat-redis-session-manageride

3,將commons-pool2-2.2.jar和jedis-2.5.2.jar依賴庫放到tomcat下面的lib庫下面

須要的jar包下載地址

http://download.csdn.net/detail/myude/9624998


4,複製多個tomcat修改端口號,並在修改每個Tomcat實例的context.xml配置文件:

在<Context></Context>標籤中加入以下配置

  1. <Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" />  
  2. <Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager"  
  3.          host="localhost"  
  4.          port="6379"  
  5.          database="0"  
  6.          maxInactiveInterval="60" />

5,安裝redis並啓動,安裝教程網上不少就不贅述了

6,將應用部署到tomcat下面測試可否取得session

相關文章
相關標籤/搜索