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

Use Memcached as session server to maintain session

Jul 21, 2024 pm 08:03 PM
linux linux tutorial Red Hat linux system linux command linux certification red hat linux linux video

使用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!

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

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Roblox: Bubble Gum Simulator Infinity - How To Get And Use Royal Keys
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers Of The Witch Tree - How To Unlock The Grappling Hook
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Fusion System, Explained
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

Java Tutorial
1668
14
PHP Tutorial
1273
29
C# Tutorial
1256
24
Linux Architecture: Unveiling the 5 Basic Components Linux Architecture: Unveiling the 5 Basic Components Apr 20, 2025 am 12:04 AM

The five basic components of the Linux system are: 1. Kernel, 2. System library, 3. System utilities, 4. Graphical user interface, 5. Applications. The kernel manages hardware resources, the system library provides precompiled functions, system utilities are used for system management, the GUI provides visual interaction, and applications use these components to implement functions.

How to check the warehouse address of git How to check the warehouse address of git Apr 17, 2025 pm 01:54 PM

To view the Git repository address, perform the following steps: 1. Open the command line and navigate to the repository directory; 2. Run the "git remote -v" command; 3. View the repository name in the output and its corresponding address.

How to run java code in notepad How to run java code in notepad Apr 16, 2025 pm 07:39 PM

Although Notepad cannot run Java code directly, it can be achieved by using other tools: using the command line compiler (javac) to generate a bytecode file (filename.class). Use the Java interpreter (java) to interpret bytecode, execute the code, and output the result.

How to run sublime after writing the code How to run sublime after writing the code Apr 16, 2025 am 08:51 AM

There are six ways to run code in Sublime: through hotkeys, menus, build systems, command lines, set default build systems, and custom build commands, and run individual files/projects by right-clicking on projects/files. The build system availability depends on the installation of Sublime Text.

What is the main purpose of Linux? What is the main purpose of Linux? Apr 16, 2025 am 12:19 AM

The main uses of Linux include: 1. Server operating system, 2. Embedded system, 3. Desktop operating system, 4. Development and testing environment. Linux excels in these areas, providing stability, security and efficient development tools.

laravel installation code laravel installation code Apr 18, 2025 pm 12:30 PM

To install Laravel, follow these steps in sequence: Install Composer (for macOS/Linux and Windows) Install Laravel Installer Create a new project Start Service Access Application (URL: http://127.0.0.1:8000) Set up the database connection (if required)

git software installation git software installation Apr 17, 2025 am 11:57 AM

Installing Git software includes the following steps: Download the installation package and run the installation package to verify the installation configuration Git installation Git Bash (Windows only)

How to use sublime shortcut keys How to use sublime shortcut keys Apr 16, 2025 am 08:57 AM

Sublime Text provides shortcuts to improve development efficiency, including commonly used (save, copy, cut, etc.), editing (indentation, formatting, etc.), navigation (project panel, file browsing, etc.), and finding and replacing shortcuts. Proficiency in using these shortcut keys can significantly improve Sublime's efficiency.

See all articles