Maison développement back-end tutoriel php Ubuntu1404下,Tomcat8+Nginx+memcache配置服务器集群session共享

Ubuntu1404下,Tomcat8+Nginx+memcache配置服务器集群session共享

Jul 29, 2016 am 09:15 AM
memcache quot request session tomcat

之前配置的Tomcat集群使用的是Tomcat提供的简单的集群管理的方式:,这种集群session贡献使用的是:org.apache.catalina.ha.session.DeltaManager,它会将某个节点的session复制到集群的所有节点上,根据Tomcat官方文档,这种session共享方式在集群变大时,效果并不好。因此,我尝试使用memcached来让集群共享session。

配置参考的文档有:点击打开链接、在这个链接里可以找到与你的Tomcat匹配的jar包,以及Tomcat配置的方法。下面记录一下我的配置过程。

1.根据前面博客的内容配置好Nginx反向代理;

2.在ubuntu下安装memcache:

可直接使用下面的命令进行安装

sudo apt-get install memcached
Copier après la connexion
3.编辑/etc/memcached.conf文件:

这个文件里有各个参数的配置,在这里要把-l参数注释掉,因为默认情况下memcache会监听所有地址,或者把127.0.0.1改为0.0.0.0来让memcache监听默认地址。

如果不这么做的话,就只能在本机上使用memcached,其他机器连接不进来,也就没有了意义。

配置完后,可以使用如下的命令查看是否能连接memcache,其中ip是memcache主机安装的ip地址,11211是memcache的监听端口。

telnet ip 11211
Copier après la connexion

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)$"></manager>
Copier après la connexion
memcachedNodes是配置安装了memcache的节点,cloud2和cloud3是主机名,必须是本机能识别的,n1和n2是我们取的memcached节点的名称,11211是memcache监听的端口,11211是默认的端口。

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
Copier après la connexion

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());
	}
}
Copier après la connexion

这里还有许多可以做的工作暂时还没做,如高效的序列化配置等,以后有时间再来做。

版权声明:本文为博主原创文章,未经博主允许不得转载。

以上就介绍了Ubuntu1404下,Tomcat8+Nginx+memcache配置服务器集群session共享,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment déployer un projet jar dans Tomcat Comment déployer un projet jar dans Tomcat Apr 21, 2024 am 07:27 AM

Pour déployer un projet JAR sur Tomcat, suivez ces étapes : Téléchargez et décompressez Tomcat. Configurez le fichier server.xml, définissez le port et le chemin de déploiement du projet. Copie le fichier JAR vers le chemin de déploiement spécifié. Démarrez Tomcat. Accédez au projet déployé à l'aide de l'URL fournie.

Comment autoriser l'accès au réseau externe au serveur Tomcat Comment autoriser l'accès au réseau externe au serveur Tomcat Apr 21, 2024 am 07:22 AM

Pour permettre au serveur Tomcat d'accéder au réseau externe, vous devez : modifier le fichier de configuration Tomcat pour autoriser les connexions externes. Ajoutez une règle de pare-feu pour autoriser l'accès au port du serveur Tomcat. Créez un enregistrement DNS pointant le nom de domaine vers l'adresse IP publique du serveur Tomcat. Facultatif : utilisez un proxy inverse pour améliorer la sécurité et les performances. Facultatif : configurez HTTPS pour une sécurité accrue.

Où se trouve le répertoire d'installation de Tomcat ? Où se trouve le répertoire d'installation de Tomcat ? Apr 21, 2024 am 07:48 AM

Répertoire d'installation de Tomcat : Chemin par défaut : Windows : C:\Program Files\Apache Software Foundation\Tomcat 9.0macOS:/Library/Tomcat/Tomcat 9.0Linux:/opt/tomcat/tomcat9 Chemin personnalisé : vous pouvez le spécifier lors de l'installation. Recherchez le répertoire d'installation : utilisez la commande Whereis ou Locate.

Comment déployer plusieurs projets dans Tomcat Comment déployer plusieurs projets dans Tomcat Apr 21, 2024 am 09:33 AM

Pour déployer plusieurs projets via Tomcat, vous devez créer un répertoire webapp pour chaque projet puis : Déploiement automatique : Placez le répertoire webapp dans le répertoire webapps de Tomcat. Déploiement manuel : déployez manuellement le projet dans l'application de gestion de Tomcat. Une fois le projet déployé, il est accessible par son nom de déploiement, par exemple : http://localhost:8080/project1.

Comment vérifier le nombre de connexions simultanées dans Tomcat Comment vérifier le nombre de connexions simultanées dans Tomcat Apr 21, 2024 am 08:12 AM

Comment vérifier le nombre de connexions Tomcat simultanées : Visitez la page Tomcat Manager (http://localhost:8080/manager/html) et entrez votre nom d'utilisateur et votre mot de passe. Cliquez sur Statut->Sessions dans la barre de navigation de gauche pour voir le nombre de connexions simultanées en haut de la page.

Où se trouve le répertoire racine du site Web Tomcat ? Où se trouve le répertoire racine du site Web Tomcat ? Apr 21, 2024 am 09:27 AM

Le répertoire racine du site Web Tomcat se trouve dans le sous-répertoire webapps de Tomcat et est utilisé pour stocker les fichiers d'application Web, les ressources statiques et le répertoire WEB-INF. Il peut être trouvé en recherchant l'attribut docBase dans le fichier de configuration Tomcat.

Comment vérifier le numéro de port de Tomcat Comment vérifier le numéro de port de Tomcat Apr 21, 2024 am 08:00 AM

Le numéro de port Tomcat peut être affiché en vérifiant l'attribut de port de l'élément <Connector> dans le fichier server.xml. Visitez l'interface de gestion Tomcat (http://localhost:8080/manager/html) et affichez l'onglet « Statut ». Exécutez "catalina.sh version" à partir de la ligne de commande et regardez la ligne "Port :".

Comment exécuter deux projets avec des numéros de port différents dans Tomcat Comment exécuter deux projets avec des numéros de port différents dans Tomcat Apr 21, 2024 am 09:00 AM

L'exécution de projets avec différents numéros de port sur le serveur Tomcat nécessite les étapes suivantes : Modifiez le fichier server.xml et ajoutez un élément Connector pour définir le numéro de port. Ajoutez un élément Context pour définir l'application associée au numéro de port. Créez un fichier WAR et déployez-le dans le répertoire correspondant (webapps ou webapps/ROOT). Redémarrez Tomcat pour appliquer les modifications.

See all articles