Session sticky session binding: Unified sessions are sent to the same backend server through the configuration of the front-end scheduler
Session cluster: Keep the information of all Tomcat sessions consistent by configuring Tomcat.
Session server Session service: Hand over all sessions to specialized session service management.
Here we explain the third method, using Memcached as the session server
System environment
All servers use CentOS7.3
Required software packages
The following files must be placed in the class library directory on the tomcat server host
rpm -ql tomcat-lib # /usr/share/java/tomcat/ # yum安装默认在此目录 /usr/local/tomcat/lib # 在官网rpm安装的默认在此目录了
memcached-session-manager-1.8.3.jar http://repo1.maven.org/maven2/de/javakaffee/msm/memcached-session-manager/1.8.3/ memcached-session-manager-tc7-1.8.3.jar http://repo1.maven.org/maven2/de/javakaffee/msm/memcached-session-manager-tc7/1.8.3/ spymemcached-2.11.1.jar http://repo1.maven.org/maven2/net/spy/spymemcached/2.11.1/ javolution-5.4.3.1.jar http://memcached-session-manager.googlecode.com/svn/maven/javolution/javolution/5.4.3.1/ msm-javolution-serializer-1.8.3.jar http://repo1.maven.org/maven2/de/javakaffee/msm/msm-javolution-serializer/1.8.3/
Install httpd
yum install httpd
Create profile
Create a new configuration file under /etc/httpd/conf.d
shell > vim /etc/httpd/conf.d/ajp-tomcat.conf # # 定义主机组 BalancerMember ajp://172.18.68.21:8009 route=tomcatA BalancerMember ajp://172.18.68.22:8009 route=tomcatB ProxySet lbmethod=byrequests # # 创建虚拟主机 ServerName www.baidu.com ProxyVia On ProxyRequests Off ProxyPreserveHost On proxyvia on Require all granted ProxyPass / balancer://tomcatservers/ # 设定所有调度至后端 ProxyPassReverse / balancer://tomcatservers/ # 设定所有调度至后端 # centos7默认拒绝,所以要允许 Require all granted # apache的管理页面 SetHandler balancer-manager ProxyPass ! # 匹配到apache的管理页面不代理 Require all granted # 设定允许 # shell > systemctl start httpd
The configurations of the two tocats are similar, and the configuration files are basically the same. Only the two test pages created later are different.
Install Tomcat
yum install tomcat tomcat-admin-webapps tomcat-webapps
Modify configuration file
There is a server.xml file under /etc/tomcat/. After opening this file, add or modify the following configuration in the host tag.
vim /etc/tomcat/server.xml 在host标签内配置以下内容 # 黄色标记部分为流式化管理工具,如果使用其他流式化工具,更改这两个名即可
Download the dependent software packages
Place the files at the end of all the .jar files mentioned at the beginning of the article in the class library directory on the tomcat server host
rpm -ql tomcat-lib # 通过此命令查看.jar文件存放的目录,就是类库文件的目录 /usr/share/java/tomcat/ # yum安装的tomcat类库路径 /usr/local/tomcat/lib # 在官网rpm安装的tomcat类库路径
Add test page
The following two test pages are different, so they must be created separately in their respective directories.
Add test page in tomcatA
shell > mkdir -pv /usr/local/tomcat/webapps/test/WEB-INF/{classes,lib} shell > vim /usr/local/tomcat/webapps/test/index.jsp 添加如下内容:
Start service
systemctl start tomcat
Mechached basically has no configuration, just install it and start the service.
yum install memcached systemctl start memcached
Use a browser to visit http://172.18.68.11, and then refresh it multiple times. As long as the value in the SessionID column remains unchanged, it means that the session has remained unchanged
The above is the detailed content of Use Memcached as session server to maintain session. For more information, please follow other related articles on the PHP Chinese website!