1. 程式人生 > >ubuntu nginx+redis+tomcat叢集配置

ubuntu nginx+redis+tomcat叢集配置

一.環境介紹

Linux: ubuntu16.04 64位系統
Nginx: 版本1.13.0
Tomcat: 版本7.0
Redis: 3.0.4

使用nginx做負載均衡, 2臺tomcat應用伺服器, 使用redis統一儲存session

修改nginx.conf配置檔案


修改標紅色的地方。

重啟服務生效。

nginx關閉命令: /usr/local/nginx/sbin/nginx -s stop

nginx啟動命令:/usr/local/nginx/sbin/nginx

tomcat配置redis

這裡要用到Redis Session Manager for Apache Tomcat專案,

https://github.com/jcoleman/tomcat-redis-session-manager 已經說的很明白了。注意,目前還不支援tomcat8。如果是tomcat6,用到的jar版本也不一樣。
配置步驟,第一步:先把redis session所需的jar拷貝到{tomcat_home}/lib下。

注意,有幾個tomcat叢集,就要copy幾份。
第二步:修改{tomcat_home}/conf下的context.xml檔案,加入如下配置:

<Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve"
/>
<Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager" host="localhost" port="6379" database="6" maxInactiveInterval="3600" />
  • 1

注意:value標籤必須在manager標籤之前。 manager標籤簡單介紹:

  • host : redis伺服器地址
  • port : redis伺服器的埠號
  • database : 要使用的redis資料庫索引
  • maxInactiveInterval : session最大空閒超時時間,如果不填則使用tomcat的超時時長,一般tomcat預設為1800 即半個小時。(經過測試,在web.xml中配置session過期時間,此時單位是秒,否則,session過期時間是30秒)。
OK,所有的配置已經完成,啟動所有的tomcat看看效果。如圖: