當前位置:編程學習大全網 - 源碼下載 - centos7+nginx+php+mysql怎樣實現session會話

centos7+nginx+php+mysql怎樣實現session會話

構建Tomcat集群

實現session***享之前首先得有壹個集群環境,就像談戀愛之前要先有個女朋友是壹個道理,我們在/usr目錄下創建壹個/tomcat_cluster目錄,並在這個目錄中集群3個Tomcat,很簡單就像這樣:

這裏寫圖片描述

然後我們壹次修改這三個tomcat的端口,包括shutdown端口、

用戶名:ftp1.linuxidc.com

密碼:www.linuxidc.com

在 2016年LinuxIDC.com\9月\Linux CentOS 7 下通過Memcached實現Session***享\下載方法見 /Linux/2013-10/91140.htm------------------------------------------分割線------------------------------------------下載完成後即可通過winscp來快速完成tomcat的jar包替換:

這裏寫圖片描述

配置說明

jar包準備好的話就分別拷貝到我們集群的3個Tomcat的lib目錄下,然後再分別修改每個Tomcat目錄下的conf/context.xml文件,在其中添加memcached-session-manager的配置。因為我們這裏集群了3臺Tomcat,所以我們必須使用non-sticky模式,即采用非粘性session管理配置,配置文件如下:

<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"memcachedNodes="n1:127.0.0.1:11211" //memcached服務器地址sticky="false" //註意壹定是false

lockingMode="auto"

sessionBackupAsync="false"

requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"sessionBackupTimeout="1000"

transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"/>

memcached的默認端口號是11211,如果不確定的話可以通過netstat來查看,命令如下:

netstat -tunlp | grep memcached

這樣就可以清楚的看到memcached所占用的端口:

這裏寫圖片描述

沒有其它問題的話就依次啟動三個Tomcat,再啟動Memcached,接著就可以測試session***享了。

測試

配完之後當然要測試壹下了,準備壹個最簡單的java web項目:

這裏寫圖片描述

在IDE創建壹個web項目部署後再從tomcat拷貝出來即可,唯壹需要改的就是index.jsp,我們看壹下裏面的代碼:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<title>My JSP 'index.jsp' starting page</title>

</head>

<body>

<%String sessid = request.getSession().getId();%>

sessionid=<%=sessid%><br/>

This is my JSP page 111111.

<br>

</body>

</html>

頁面也很簡單,只是加入了打印sessionid的代碼,因為我們要根據sessionid去判斷session是否壹致,將這個項目分別拷貝至三個Tomcat的webapps目錄下,為了做點區分最好再改壹下靜態文本,比如tomcat1下的是“This is my JSP page 111111.”,而tomcat2下的改為222222,同理tomcat3下的改為333333,項目傳完後,依次啟動這三個Tomcat,再啟動memcached,通過瀏覽器訪問看壹下結果:

這裏寫圖片描述

仔細觀察壹下運行結果,可以發現sessionid都是壹致的,這也就很好的說明了我們成功的在這三個Tomcat之間***享了session。

總結

簡單記錄壹下通過Memcached來實現session***享的全過程,希望對遇到同樣問題的朋友有所幫助,The End。

  • 上一篇:淘寶客cps計劃介紹 計劃管理在哪裏
  • 下一篇:為何暴雪不重置當年大火的暗黑2卻重置了星際1和魔獸3?
  • copyright 2024編程學習大全網