Nginx+tomcat集羣使用redis共享session

一 :nginx負載均衡

當Tomcat當作獨立的Servlet容器來運行時,可看作是能運行Java Servlet的獨立Web服務器。html

此外 Tomcat還能夠做爲其餘Web服務器進程內或者進程外的Servlet容器,從而與其餘Web服務器集成(Apache Nginx IIS 等)前端

集成的意義在於:對於不支持運行java Servlet的其餘Web服務器,能夠經過集成Tomcat來提供運行Servlet的功能。java

——————————Tomcat與JavaWeb開發技術詳解(孫衛琴的一本書)nginx

Nginx 經過Tomcat來運行Servlet容器。也能夠 對集羣的tomcat的負載進行均衡。(在後臺多個Tomcat進行集羣時,nginx把來自客戶端的請求 隨機分發到某一臺Tomcat上)web

下面看一個簡單的demoredis

nginx.conf負載均衡的關鍵配置 數據庫

http {
  include mime.types;
  default_type application/octet-stream;apache

  sendfile on;tomcat

  keepalive_timeout 65;服務器

  upstream tomcatserver{
    server 119.23.50.194:9080 weight=1;
    server 119.23.50.194:8080 weight=2;
  }
  server {
    listen 80;
    server_name localhost;
    location / {
      proxy_pass http://tomcatserver;
    }
  }
}

配置表示,nignx的斷開時80端口,也就是當咱們直接輸入ip的時候

會直接進入nginx的根路徑。location / 經過proxy_pass指向server 119.23.50.194:9080(三分之一的機率);或者 server 119.23.50.194:8080(三分之二的機率);

機率可經過權重 weight配置。

思考:前端的請求會隨機分發到不一樣的Servlet容器中。不一樣的tomcat session是不共享的。這樣 會話跟蹤會失敗。

二 使用redis共享session

tomcat 集羣中,能夠把session放到redis數據庫中,解決session不共享的問題

進入cd /home/tomcat/apache-tomcat-7/lib路徑下

把redis和tomcat配置的jar添加進去

jedis-2.5.2.jar

tomcat-redis-session-manage-tomcat7.jar
commons-pool2-2.2.jar

cd /home/tomcat/apache-tomcat-7/conf/

修改 context.xml文件

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

修改cd /home/tomcat/apache-tomcat-7/webapps/ROOT/ 目錄下的index.jsp(tomcat歡迎頁) 方便咱們測試

119.23.50.194:9080 tomcat主頁上加如下代碼

  <%@ page session="true" %>

  <h1>tomcat9080</h1>
  session:<%=session.getId()%>

119.23.50.194:8080 tomcat主頁上加如下代碼

  <%@ page session="true" %>

  <h1>tomcat8080</h1>
  session:<%=session.getId()%>

你們能夠點擊測試,觀察 tomcat的端口雖然編號 可是sessionId沒變

Redis安裝步驟

Nginx安裝步驟

爲了保證在集羣系統中,會話數據能在redis進行存儲。應該保證全部存放在會話範圍內的全部屬性都實現了java.io.Serializable接口。

相關文章
相關標籤/搜索