1. 程式人生 > >Nginx+Tomcat+Redis搭建共享SESSION叢集

Nginx+Tomcat+Redis搭建共享SESSION叢集

以Nginx作為反向代理伺服器,搭建Tomcat叢集,同時將SESSION資訊快取到Redis中。本文中Nginx是單機的,在實際環境中可以搭建Nginx叢集,以保證其的高可用,Tomcat是叢集的,Redis也是單機的,在實際環境中也可以搭建Redis叢集。

環境準備

nginx-1.13.0
apache-tomcat-7.0.75(tomcat叢集中有幾個節點,就可以複製幾份tomcat,本文當中是2個節點)
redis-x64-3.2.100(實現環境中肯定是部署linux版本的redis,如果只是測試的話,也可以部署windows下的版本,本文就是)

環境配置

配置tomcat


(1)由於是在一臺電腦上測試,即在一臺電腦上要啟動2個tomcat,所以得修改tomcat的埠,其中一個tomcat的埠為8081,另一個為8082;

(2)修改叢集中所有tomcat的context.xml配置,在該檔案中新增如下內容:

<ValveclassName="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve"/><ManagerclassName="com.orangefunction.tomcat.redissessions.RedisSessionManager"host="127.0.0.1"
port="6379"database="0"maxInactiveInterval="60"/>

其中host是配置redist所在的ip,port是連線redis的埠

(3)將如下jar檔案新增到叢集中所有tomcat的lib下面:
tomcat-redis-session-manager1.2.jar
tomcat-juli-adapters.jar
tomcat-juli.jar
jedis-2.5.1.jar
commons-pool2-2.4.2.jar

配置Nginx
(1)修改nginx.conf配置檔案,首先新增如下內容:

upstream myserver {
	server 
127.0.0.1:8081;#此處為第1個tomcat的地址 server 127.0.0.1:8082;#此處為第2個tomcat的地址,如果還有同樣新增即可}

找到如下內容並對應新增反向代理服務配置:

location /{
       root   html;
       index  index.html index.htm;
	   proxy_pass http://myserver; #此處為新增的反向代理服務配置}

配置redis
由於本文中是測試的windows版本下的redis,所以得先下載,地址如下:
Windows版本Redis

解壓後,用Administrator的身份執行如下命令啟動redis:

redis-server  redis.windows.conf

測試

將你的web工程放到tomcat叢集下的所有的tomcat裡面,然後啟動所有的tomcat,啟動nginx,redis按照上述方法啟動了就行,訪問工程時,是訪問nginx所在的ip,以及nginx開放的連線埠。

原文地址:http://www.tongtongxue.com/archives/5508.html