1. 程式人生 > >Tomcat8+Nginx+redis組合解決session同步的相關問題

Tomcat8+Nginx+redis組合解決session同步的相關問題

    最近幾天,由於專案需要使用Nginx反向代理多個Tomcat8伺服器。我的環境是Linux平臺,實現了Nginx反向代理,卻出了一點問題:網站時,由於Tomcat是多臺為我們服務,每過一會,就會出現Session發生變化的問題。session變化,會使我們的專案出問題。

    經過一天半的時間,在網路上找相關的解決方案,嘗試了一次又一次,終於解決了問題,因此,寫下這篇部落格,幫助新手可以以最短的時間解決session不同步的問題。

    我的環境是:CentOS7[Linux]+JDK8+Tomcat8.x+Nginx+redis4.x

    由於我的環境都是比較新的版本,所以網路上很多解決方案都不能解決我的問題,最後耽誤了好久才解決這個問題。

--------------------------------------------------正文-----------------------------------------------------------------

    1.Tomcat8安裝,配置

        從官網下載Tomcat8,先在/usr/local/下新建資料夾tomcat1 ....tomcatN(N:為你需要的Tomcat伺服器個數)

解壓Tomcat8.x到/usr/local/tomcat1 .../usr/local/tomcatN中。

        如果希望多個Tomcat可以同時執行,需要修改埠號。在tomcat目錄下找到conf資料夾使用文字編輯器開啟server.xml.

        第一個tomcat不需要修改埠號,第二個至第N個需要修改埠號,是為了防止埠號衝突。我們建議埠號,在上一個相同位置的埠號位置,依次遞增1。

2.Nginx安裝配置

3.redis安裝配置

    這個兩個比價簡單建議隨便找個部落格OK

4.解決session不同步的問題

    我們需要新增jar包到Tomcat的lib 目錄下,jar包的版本,要與我們所需要的環境一樣,這也是我嘗試了好多次都失敗的原因。好多部落格,只寫部落格文章,並不放jar包,這是我浪費了很多時間的根源,也是我寫本文的初衷。jar包,在下面的連結中,裡面有配置的具體做法。

https://download.csdn.net/download/annjeff/10394111

你也可以直接下我配置好的Tomcat8

https://download.csdn.net/download/annjeff/10394145

5.測試

必須啟動redis,nginx ,才能啟動Tomcat

我用兩臺Tomcat進行的測試

測試成功。