Ubuntu1404下,Tomcat8+Nginx+memcache配置服务器集群session共享
之前配置的Tomcat集群使用的是Tomcat提供的简单的集群管理的方式:
配置参考的文档有:点击打开链接、在这个链接里可以找到与你的Tomcat匹配的jar包,以及Tomcat配置的方法。下面记录一下我的配置过程。
1.根据前面博客的内容配置好Nginx反向代理;
2.在ubuntu下安装memcache:
可直接使用下面的命令进行安装
sudo apt-get install memcached
这个文件里有各个参数的配置,在这里要把-l参数注释掉,因为默认情况下memcache会监听所有地址,或者把127.0.0.1改为0.0.0.0来让memcache监听默认地址。
如果不这么做的话,就只能在本机上使用memcached,其他机器连接不进来,也就没有了意义。
配置完后,可以使用如下的命令查看是否能连接memcache,其中ip是memcache主机安装的ip地址,11211是memcache的监听端口。
telnet ip 11211
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>
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
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()); } }
这里还有许多可以做的工作暂时还没做,如高效的序列化配置等,以后有时间再来做。
版权声明:本文为博主原创文章,未经博主允许不得转载。
以上就介绍了Ubuntu1404下,Tomcat8+Nginx+memcache配置服务器集群session共享,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

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.

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.

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.

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 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.

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.

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 :".

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.
