Heim >Backend-Entwicklung >PHP-Tutorial >Tomcat Nginx-Cluster und Lastausgleich
Bitte geben Sie die Quelle für den Nachdruck an: http://blog.csdn.net/l1028386804/article/details/48272857
Heute werden wir mit Ihnen zusammenarbeiten, um Clustering und Lastausgleich von Tomcat zu implementieren und nginx
1. Tomcat-Cluster-Konfigurationsport-Planung
Hinweis: Dieser Port wird zum Starten von 2 Tomcats auf demselben Computer verwendet. Sie müssen den Port so ändern, dass dies nicht der Fall ist Wird wiederholt, wenn nur eine Maschine bereitgestellt wird. Die Ports von 1 Tomcat können gleich sein.
|
HERUNTERFAHREN | AJP<Engine name="Catalina" defaultHost="localhost"> |
http <Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1"> |
Cluster Receiver |
|||||||||||||||
1 |
8005 <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOpti <Manager className="org.apache.catalina.ha.session.DeltaManager" expireSessi notifyListeners/> <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"/> <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver" address="auto" <!--可写你自己的ip地址--> 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"/> </Sender> <Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/> <Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/> </Channel> <Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter=""/> <Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/> <Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer" tempDir="/tmp/war-temp/" deployDir="/tmp/war-deploy/" watchDir="/tmp/war-listen/" watchEnabled="false"/> <ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/> <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/> </Cluster> |
8009 | 8080 | 5001 | |||||||||||||||
2 | 8015 |
8019 | 80815002 |
1 Cluster-Konfiguration
<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 /> (在倒数第二行增加这个代码才能实现session同步复制功能) </web-app>wird in server.xml geändert: wird: Ändern zu:
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"
JAVA_OPTS = " -server -Xms512M -Xmx2048M -XX:MaxNewSize=256M -XX:PermSize=256M -XX:MaxPermSize=512M -XX:+UseConcMarkSweepGC -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -Djava.awt.headless=true"Beachten Sie, dass er sich auf der befindet Gleiche Maschine: Empfängerknoten-Port:
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="500" minSpareThreads="50" />ist unterschiedlich.
<Connector port="8080" protocol="HTTP/1.1" c redirectPort="8443" />
<Connector port="8080" executor="tomcatThreadPool" protocol="HTTP/1.1" c enableLookups="false" redirectPort="8443" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
<Connector port="8009" executor="tomcatThreadPool" c enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />Sie müssen die Konfigurationsparameter web.xml von Tomcat ändern, um die Einstellung der sitzungssynchronen Replikation wirklich zu realisieren
<Connector port="8080" protocol="HTTP/1.1" c redirectPort="8443" />2. Optimierung:
<Connector port="8080" protocol="HTTP/1.1" maxThreads="500" acceptCount="50" c enableLookups="false" redirectPort="8443" />1) Speicheroptimierungskonfiguration
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />1) Windows:
<Connector port="8009" maxThreads="500" c enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
2 ) Linux
2. Andere optimierte Konfigurationen:
in
2) oder
ändert
3) Mehrere Attributerklärungen:
connectionTimeout
Netzwerkverbindungs-Timeout, Standardwert 20000, Einheit: Millisekunden. Wenn Sie den Wert auf 0 setzen, kommt es nie zu einer Zeitüberschreitung, was eine gefährliche Einstellung darstellt. Normalerweise kann es auf 30000 Millisekunden eingestellt werden. (Aufgrund der langen Zeitüberschreitung der Schnittstelle mit dem Backend-System ist dieses System auf 60000 eingestellt)
upstream tomcat { server 192.168.100.50:8080 weight=1; server 192.168.100.50:8081 weight=1; }
location / { root html; index index.html index.htm; }enableLookups
location / { #root html; #index index.html index.htm; proxy_pass http://tomcat6; }
Gibt an, ob die Domain umgekehrt überprüft werden soll Name, der Standardwert ist true. Um die Verarbeitungsfähigkeiten zu verbessern, sollte es auf „false“ gesetzt werden.