Ubuntu1404下,Tomcat8+Nginx+memcache配置伺服器集群session共享
先前配置的Tomcat叢集使用的是Tomcat提供的簡單的叢集管理的方式:
設定參考的文件有:點擊開啟連結、在這個連結裡可以找到與你的Tomcat相符的jar包,以及Tomcat配置的方法。下面記錄一下我的設定流程。
1.根據前面部落格的內容設定好Nginx反向代理;
2.在ubuntu下安裝memcache:
可直接使用下面的命令進行安裝
sudo apt-get install memcached
這個檔案裡有各個參數的配置,在這裡要把-l參數註解掉,因為預設情況下memcache會監聽所有位址,或是把127.0.0.1改為0.0.0.0來讓memcache監聽預設位址。
如果不這麼做的話,就只能在本機上使用memcached,其他機器連接不進來,也就沒有了意義。
設定完後,可以使用以下的指令查看是否能連接memcache,其中ip是memcache主機安裝的ip位址,11211是memcache的監聽埠。
telnet ip 11211
4.在所有的Tomcat節點上編輯CATALINA_HOME/conf/context.xml文件,在
<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager" memcachedNodes="n1:cloud2:11211,n2:cloud3:11211" sticky="false" sessi lockingMode="auto" requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$" />
5.添加一些jar包到CATALINA_HOME/lib下
我這裡使用到的包有:
memcached-session-manager-1.8.3.jar memcached-session-manager-tc8-1.8.3.jar spymemcached-2.11.1.jar
6.然後就可以啟動Tomcat和nginx進行測試了
這裡的測試思路是這樣的,使用以下程式碼建立一個Servlet,然後部署到兩個tomcat伺服器上。只啟動其中一個伺服器,然後透過瀏覽器存取負載平衡伺服器,可在瀏覽器上查看並記下此時的SessionID。然後關閉這個伺服器,啟動另一個tomcat伺服器,然後再用相同的位址存取負載平衡伺服器,再在瀏覽器上查看SessionID,若兩次SessionID一致,則表示SessionID被共享了。
package com.cyber_space.Servlet; import java.io.IOException; import java.io.PrintWriter; import java.net.Inet4Address; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class TestServlet */ @WebServlet("/TestServlet") public class TestServlet extends HttpServlet { private static final long serialVersionUID = 1L; public TestServlet() { super(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { handle(request, response); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { handle(request, response); } private void handle(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setHeader("Content-type", "text/html;charset=UTF-8"); String remoteIpString = request.getRemoteAddr() + " " + request.getRemoteHost() + " " + request.getRemoteUser(); PrintWriter pw = response.getWriter(); pw.println("请求来自:" + remoteIpString); request.getSession().setAttribute("5", 5); String sessionID = request.getSession().getId(); pw.println("赋予它的SESSIONID是:" + sessionID); Inet4Address inet4Address = (Inet4Address) Inet4Address.getLocalHost(); pw.println("服务器的IP地址是:" + inet4Address.getHostAddress()); } }
這裡還有許多可以做的工作暫時還沒做,如高效的序列化配置等,以後有時間再來做。
版權聲明:本文為部落客原創文章,未經部落客允許不得轉載。
以上就介紹了Ubuntu1404下,Tomcat8+Nginx+memcache配置伺服器集群session共享,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

若要將 JAR 專案部署到 Tomcat,請遵循以下步驟:下載並解壓縮 Tomcat。配置 server.xml 文件,設定連接埠和專案部署路徑。將 JAR 檔案複製到指定的部署路徑中。啟動 Tomcat。使用提供的 URL 存取已部署的項目。

要讓 Tomcat 伺服器對外網訪問,需要:修改 Tomcat 設定文件,允許外部連接。新增防火牆規則,允許存取 Tomcat 伺服器連接埠。建立 DNS 記錄,將網域名稱指向 Tomcat 伺服器公有 IP。可選:使用反向代理提升安全性和效能。可選:設定 HTTPS 以提高安全性。

Tomcat 安裝目錄:預設路徑:Windows:C:\Program Files\Apache Software Foundation\Tomcat 9.0macOS:/Library/Tomcat/Tomcat 9.0Linux:/opt/tomcat/tomcat9自訂路徑:安裝時可指定。尋找安裝目錄:使用 whereis 或 locate 指令。

要透過 Tomcat 部署多個項目,需要建立每個專案的 webapp 目錄,然後:自動部署:將 webapp 目錄放置在 Tomcat 的 webapps 目錄中。手動部署:在 Tomcat 的 manager 應用程式中手動部署專案。專案部署後,可以透過其部署名稱訪問,例如:http://localhost:8080/project1。

查看Tomcat並發連線數的方法:造訪Tomcat Manager頁面(http://localhost:8080/manager/html),輸入使用者名稱和密碼。在左側導覽列中點選Status->Sessions,即可在頁面頂部看到並發連線數。

Tomcat 網站根目錄位於 Tomcat 的 webapps 子目錄中,用於儲存 Web 應用程式檔案、靜態資源和 WEB-INF 目錄;它可以透過尋找 Tomcat 設定檔中的 docBase 屬性來找到。

Tomcat埠號碼可透過以下方法檢視:檢查server.xml檔案中的<Connector>元素的port屬性。造訪Tomcat管理介面(http://localhost:8080/manager/html)並查看"Status"標籤。在命令列中運行"catalina.sh version"並查看"Port:"行。

Tomcat可以執行HTML和JSP,方法如下:將HTML檔案複製到Tomcat目錄對應的子目錄中,在瀏覽器中存取。將JSP檔案複製到Tomcat目錄對應的子目錄中,並使用<%@ page %>指令指定Java程式碼,在瀏覽器中存取。
