Redis存儲Tomcat集群實現Session共享

對于傳統的Web項目,為了提升系統的高可用性,我們通常會運用nginx+Tomcat+Redis存儲Session來處理。本文旨在提供詳細的配置方案來實現Tomcat的集群配置。

基本環境

  • Redis 2.4.10
  • Nginx 1.10.1
  • Tomcat 7
  • Jdk 7
  • Node1 :172.18.50.100
  • Node2 : 172.18.50.101

Nginx配置

#定義集群的集合,將所有可用的node都添加到upstream中
upstream cluster  
{
    server 172.18.50.100:8080;
    server 172.18.50.191:8080;
}

server {
        listen       80;
        server_name  localhost;
            
        location /testcluster {
            proxy_pass    http://cluster;
        }
}

Tomcat配置

這里需要修改Tomcat的Session存儲機制,將Session交給Redis進行管理。

  • 修改Tomcat的context.xml文件在最后面添加Session的RedisManagement
<Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" />        
    <Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager" 
        host="172.18.50.100" 
        port="6379" 
        database="0" 
        maxInactiveInterval="60"/>
  • 給Tomcat添加RedisSessionManagment相應的jar
    : commons-pool2-2.3.jar
    : jedis-2.7.3.jar
    : tomcat-redis-session-manager1.2.jar

至此所有的配置已完成,重啟Tomcat實例和Nginx服務,試著訪問下你的服務吧.

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容