當前位置:
首頁 > 知識 > tomcat集群和session共享

tomcat集群和session共享

1.集群

  • 生成發布包
  • 項目右鍵export生成war包
  • 再解壓一個tomcat
  • 把war包放入第二個tomcat,wabapps中,設置埠號,根目錄conf的server.xml中

tomcat集群和session共享

tomcat集群和session共享

tomcat集群和session共享

再修改第二個startup.bat增加兩行代碼

寫在最上方

SET JAVA_HOME=D:java //指定jdk安裝的路徑根路徑,不用進入bin文件夾中

SET CATALINA_HOME=D:apache-tomcat-7.0.67 //指定第二個tomcat根路徑

  • 1
  • 2
  • 3
  • 啟動nginx 根目錄下conf下的nginx.conf

server {

listen 80;

server_name localhost;//表示進入埠自動尋找localtion

#charset koi8-r;

#access_log logs/host.access.log main;

location / {

root html;//默認的localtion地址

index index.html index.htm;//這個地址下有哪些頁面可以訪問

//添加proxy_pass

proxy_pass http://server_list/;

}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 在當前conf文件中添加upstream

upstream server_list{

server localhost:8080;//添加所有的tomcat訪問地址

server localhost:8081;

}

  • 1
  • 2
  • 3
  • 4

示例如下:

http {

limit_conn_log_level error;

limit_conn_status 503;

limit_conn_zone $binary_remote_addr zone=one:10m;

limit_conn_zone $server_name zone=perserver:10m;

limit_req_zone binary

r

emote

a

ddrzone=allips:100mrate=10r/s;其中

binaryremoteaddrzone=allips:100mrate=10r/s;其中binary_remote_addr有時需要根據自己已有的log_format變數配置進行替換

server {

…………………….

limit_conn one 100;

  • 1
  • 2
  • 3
  • 4

limit_conn perserver 1000;

limit_req zone=allips burst=5 nodelay;

………………….

  • 1
  • 2
  • 3
  • 4

}

}

參數解釋:

Zone=one或allips 表示設置了名為「one」或「allips」的存儲區,大小為10兆位元組

rate=10r/s 的意思是允許1秒鐘不超過10個請求

burst=5 表示最大延遲請求數量不大於5。 如果太過多的請求被限制延遲是不需要的 ,這時需要使用nodelay參數,伺服器會立刻返回503狀態碼。

limit_conn one 100表示最大並發連接數100

limit_conn perserver 1000表示該服務提供的總連接數不得超過1000,超過請求的會被拒絕

2.啟動nginx

  • 解壓nginx壓縮包
  • 命令行敲代碼

tomcat集群和session共享

3.配置tomcat

多個Tomcat同步Session

分別修改tomcat的server.xml配置文件

  • 為元素指定jvmRoute屬性名,名稱保持一致

<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">

  • 1
  • 釋放開元素注釋

<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>

  • 1
  • 在項目project的web.xml中配置< distributable/>元素

nginx+tomcat+redis完成session共享

安裝redis、tomcat、nginx

session同步配置

下載jar包,放入到tomcat/lib目錄下

tomcat-redis-session-manager-1.2-tomcat-7-java-7.jar

jedis-2.5.2.jar

commons-pool2-2.0.jar

修改tomcat中context.xml文件

<Context>

<!-- Default set of monitored resources -->

<WatchedResource>WEB-INF/web.xml</WatchedResource>

<!-- Uncomment this to disable session persistence across Tomcat restarts -->

<!--

<Manager pathname="" />

-->

<!-- Uncomment this to enable Comet connection tacking (provides events

on session expiration as well as webapp lifecycle) -->

<!--

<Valve className="org.apache.catalina.valves.CometConnectionManagerValve" />

-->

<Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" />

<Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager"

host="10.10.49.20"

port="6379"

database="0"

maxInactiveInterval="60" />

</Context>

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 程序員小新人學習 的精彩文章:

Django自定義管理器
一句話+一張圖就能說清楚Aprioir關聯規則演算法

TAG:程序員小新人學習 |