Home > System Tutorial > LINUX > Use Memcached as session server to maintain session

Use Memcached as session server to maintain session

WBOY
Release: 2024-07-21 20:03:32
Original
1264 people have browsed it

使用Memcached做session server实现会话保持

Three ways to maintain a session

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

1. Architecture diagram

使用Memcached做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安装的默认在此目录了
Copy after login
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/
Copy after login
2. Apache detailed configuration

Install httpd

    yum install httpd
Copy after login

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
Copy after login
3. Tomcat configuration

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
Copy after login

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标签内配置以下内容

  
                  # 黄色标记部分为流式化管理工具,如果使用其他流式化工具,更改这两个名即可
Copy after login

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类库路径
Copy after login

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
添加如下内容:
Copy after login

Start service

systemctl start tomcat
Copy after login
4. Memcached configuration

Mechached basically has no configuration, just install it and start the service.

yum install memcached
systemctl start memcached
Copy after login
5. Test

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

使用Memcached做session server实现会话保持

使用Memcached做session server实现会话保持

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!

source:linuxprobe.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template