Table des matières
1、Tomcat 集群配置
1、内存优化配置
1)Windows:
2)Linux
2、其他优化配置:
1)加入如下配置1
2)或者
3)几个属性解释:
Maison développement back-end tutoriel php Tomcat+Nginx集群与负载均衡

Tomcat+Nginx集群与负载均衡

Jul 29, 2016 am 09:16 AM
lt quot tomcat

转载请注明出处:http://blog.csdn.net/l1028386804/article/details/48272857

今天就和大家一起来实现Tomcat和nginx的集群与负载均衡

一、Tomcat 集群配置端口规划

注:该端口是在同一台机器上启动2个tomcat,需要修改一下端口不重复,如果一台机器只部署1个tomcat其端口可以一样。

序号

SHUTDOWN

AJP

http

集群Receiver

1

8005

8009

8080

5001

2

8015

8019

8081

5002

1、Tomcat 集群配置

在server.xml中修改:

将:
<engine name="Catalina" defaulthost="localhost"></engine>
Copier après la connexion
修改为:
<engine name="Catalina" defaulthost="localhost" jvmroute="jvm1">  </engine>
Copier après la connexion

其中 jvmRoute="jvm1" 在不同的tomcat中名称不一样。

节点中加入如下内容实现Session复制共享:

<cluster classname="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelsendopti expiresessi notifylisteners></cluster>

  <channel classname="org.apache.catalina.tribes.group.GroupChannel">
    <membership classname="org.apache.catalina.tribes.membership.McastService" address="228.0.0.4" port="45564" frequency="500" droptime="3000"></membership>
    <receiver classname="org.apache.catalina.tribes.transport.nio.NioReceiver" address="auto">
              port="5001"
              autoBind="100"
              selectorTimeout="5000"
              maxThreads="6"/>

    <sender classname="org.apache.catalina.tribes.transport.ReplicationTransmitter">
      <transport classname="org.apache.catalina.tribes.transport.nio.PooledParallelSender"></transport>
    </sender>
    <interceptor classname="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"></interceptor>
    <interceptor classname="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"></interceptor>
  </receiver></channel>

  <valve classname="org.apache.catalina.ha.tcp.ReplicationValve" filter=""></valve>
  <valve classname="org.apache.catalina.ha.session.JvmRouteBinderValve"></valve>

  <deployer classname="org.apache.catalina.ha.deploy.FarmWarDeployer" tempdir="/tmp/war-temp/" deploydir="/tmp/war-deploy/" watchdir="/tmp/war-listen/" watchenabled="false"></deployer>

  <clusterlistener classname="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"></clusterlistener>
  <clusterlistener classname="org.apache.catalina.ha.session.ClusterSessionListener"></clusterlistener>
    
Copier après la connexion

注意在同一台机器上:Receiver 节点端口:port="5001"要不一样。

2、修改tomcat的web.xml

需要修改tomcat的web.xml配置参数才能真正实现session同步复制的设置

<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<distributable></distributable> (在倒数第二行增加这个代码才能实现session同步复制功能)
Copier après la connexion

二、优化:

1、内存优化配置

1)Windows:
set JAVA_OPTS = " -server -Xms512M -Xmx2048M -XX:MaxNewSize=256M -XX:PermSize=256M 
-XX:MaxPermSize=512M -XX:+UseConcMarkSweepGC -XX:+PrintGCDetails  
-XX:+PrintGCTimeStamps -Djava.awt.headless=true"  
Copier après la connexion
2)Linux
JAVA_OPTS = " -server -Xms512M -Xmx2048M -XX:MaxNewSize=256M -XX:PermSize=256M 
-XX:MaxPermSize=512M -XX:+UseConcMarkSweepGC  -XX:+PrintGCDetails  
-XX:+PrintGCTimeStamps -Djava.awt.headless=true" 
Copier après la connexion

2、其他优化配置:

1)加入如下配置1
<executor name="tomcatThreadPool" nameprefix="catalina-exec-" maxthreads="500" minsparethreads="50"></executor>
Copier après la connexion
修改
<connector port="8080" protocol="HTTP/1.1" c redirectport="8443"></connector>
Copier après la connexion
Copier après la connexion

<connector port="8080" executor="tomcatThreadPool" protocol="HTTP/1.1" c enablelookups="false" redirectport="8443"></connector>
Copier après la connexion
修改:
<connector port="8009" protocol="AJP/1.3" redirectport="8443"></connector>
Copier après la connexion
Copier après la connexion

<connector port="8009" executor="tomcatThreadPool" c enablelookups="false" redirectport="8443" protocol="AJP/1.3"></connector>
Copier après la connexion
2)或者

修改

<connector port="8080" protocol="HTTP/1.1" c redirectport="8443"></connector>
Copier après la connexion
Copier après la connexion

<connector port="8080" protocol="HTTP/1.1" maxthreads="500" acceptcount="50" c enablelookups="false" redirectport="8443"></connector>
Copier après la connexion
修改
<connector port="8009" protocol="AJP/1.3" redirectport="8443"></connector>
Copier après la connexion
Copier après la connexion

<connector port="8009" maxthreads="500" c enablelookups="false" redirectport="8443" protocol="AJP/1.3"></connector>
Copier après la connexion

注:两者的主要区别是:executor被起用且关联时maxThreads="500" 被忽略。

3)几个属性解释:
  • maxThreads

Tomcat使用线程来处理接收的每个请求。这个值表示Tomcat可创建的最大的线程数。默认值200。 可以根据机器的时期性能和内存大小调整,一般可以在400-500。最大可以在800左右。

  • acceptCount

指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理。默认值10。

  • minSpareThreads

Tomcat初始化时创建的线程数。默认值4。

  • connnectionTimeout

网络连接超时,默认值20000,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为30000毫秒。(本系统由于与后台系统接口超时时间较长,使用设置为60000)

  • enableLookups

是否反查域名,默认值为true。为了提高处理能力,应设置为false

  • Executor节点

表示Tomcat组件之间共享的线程池。

  • maxIdleTime

空闲线程被关闭之前的毫秒数。默认值是60000。

三、Nginx + Tomcat负载均衡配置

在配置文件/usr/local/nginx/conf/nginx.conf文件中新增以下代码

  upstream  tomcat {
        server 192.168.100.50:8080  weight=1;
        server 192.168.100.50:8081  weight=1;
  }
Copier après la connexion
其中tomcat名称随意,注意IP地址和端口。
修改Server节点中location:
location / {
        root   html;
        index  index.html index.htm;
    }
Copier après la connexion

location  / {
   #root   html;
   #index  index.html index.htm;
           proxy_pass  http://tomcat6;
}
Copier après la connexion

注意http://tomcat中tomcat名称与上面的配置一样。

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

以上就介绍了Tomcat+Nginx集群与负载均衡,包括了方面的内容,希望对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)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
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