Jadual Kandungan
1、Tomcat 集群配置
1、内存优化配置
1)Windows:
2)Linux
2、其他优化配置:
1)加入如下配置1
2)或者
3)几个属性解释:
Rumah pembangunan bahagian belakang tutorial 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>
Salin selepas log masuk
修改为:
<engine name="Catalina" defaulthost="localhost" jvmroute="jvm1">  </engine>
Salin selepas log masuk

其中 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>
    
Salin selepas log masuk

注意在同一台机器上: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同步复制功能)
Salin selepas log masuk

二、优化:

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"  
Salin selepas log masuk
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" 
Salin selepas log masuk

2、其他优化配置:

1)加入如下配置1
<executor name="tomcatThreadPool" nameprefix="catalina-exec-" maxthreads="500" minsparethreads="50"></executor>
Salin selepas log masuk
修改
<connector port="8080" protocol="HTTP/1.1" c redirectport="8443"></connector>
Salin selepas log masuk
Salin selepas log masuk

<connector port="8080" executor="tomcatThreadPool" protocol="HTTP/1.1" c enablelookups="false" redirectport="8443"></connector>
Salin selepas log masuk
修改:
<connector port="8009" protocol="AJP/1.3" redirectport="8443"></connector>
Salin selepas log masuk
Salin selepas log masuk

<connector port="8009" executor="tomcatThreadPool" c enablelookups="false" redirectport="8443" protocol="AJP/1.3"></connector>
Salin selepas log masuk
2)或者

修改

<connector port="8080" protocol="HTTP/1.1" c redirectport="8443"></connector>
Salin selepas log masuk
Salin selepas log masuk

<connector port="8080" protocol="HTTP/1.1" maxthreads="500" acceptcount="50" c enablelookups="false" redirectport="8443"></connector>
Salin selepas log masuk
修改
<connector port="8009" protocol="AJP/1.3" redirectport="8443"></connector>
Salin selepas log masuk
Salin selepas log masuk

<connector port="8009" maxthreads="500" c enablelookups="false" redirectport="8443" protocol="AJP/1.3"></connector>
Salin selepas log masuk

注:两者的主要区别是: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;
  }
Salin selepas log masuk
其中tomcat名称随意,注意IP地址和端口。
修改Server节点中location:
location / {
        root   html;
        index  index.html index.htm;
    }
Salin selepas log masuk

location  / {
   #root   html;
   #index  index.html index.htm;
           proxy_pass  http://tomcat6;
}
Salin selepas log masuk

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

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

以上就介绍了Tomcat+Nginx集群与负载均衡,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk menggunakan projek jar dalam tomcat Bagaimana untuk menggunakan projek jar dalam tomcat Apr 21, 2024 am 07:27 AM

Untuk menggunakan projek JAR ke Tomcat, ikut langkah berikut: Muat turun dan nyahzip Tomcat. Konfigurasikan fail server.xml, tetapkan port dan laluan penggunaan projek. Menyalin fail JAR ke laluan penggunaan yang ditentukan. Mulakan Tomcat. Akses projek yang digunakan menggunakan URL yang disediakan.

Bagaimana untuk membenarkan akses rangkaian luaran ke pelayan tomcat Bagaimana untuk membenarkan akses rangkaian luaran ke pelayan tomcat Apr 21, 2024 am 07:22 AM

Untuk membenarkan pelayan Tomcat mengakses rangkaian luaran, anda perlu: mengubah suai fail konfigurasi Tomcat untuk membenarkan sambungan luaran. Tambahkan peraturan tembok api untuk membenarkan akses kepada port pelayan Tomcat. Buat rekod DNS yang menunjukkan nama domain ke IP awam pelayan Tomcat. Pilihan: Gunakan proksi terbalik untuk meningkatkan keselamatan dan prestasi. Pilihan: Sediakan HTTPS untuk meningkatkan keselamatan.

Bagaimana untuk menggunakan berbilang projek dalam tomcat Bagaimana untuk menggunakan berbilang projek dalam tomcat Apr 21, 2024 am 09:33 AM

Untuk menggunakan berbilang projek melalui Tomcat, anda perlu mencipta direktori aplikasi web untuk setiap projek dan kemudian: Penggunaan automatik: Letakkan direktori aplikasi web dalam direktori aplikasi web Tomcat. Penggunaan manual: Gunakan projek secara manual dalam aplikasi pengurus Tomcat. Sebaik sahaja projek itu digunakan, ia boleh diakses dengan nama penggunaannya, contohnya: http://localhost:8080/project1.

Di manakah direktori pemasangan tomcat? Di manakah direktori pemasangan tomcat? Apr 21, 2024 am 07:48 AM

Direktori pemasangan Tomcat: Laluan lalai: Windows: C:\Program Files\Apache Software Foundation\Tomcat 9.0macOS:/Library/Tomcat/Tomcat 9.0Linux:/opt/tomcat/tomcat9 Laluan tersuai: Anda boleh menentukannya semasa pemasangan. Cari direktori pemasangan: gunakan whereis atau locate arahan.

Bagaimana untuk menyemak bilangan sambungan serentak dalam tomcat Bagaimana untuk menyemak bilangan sambungan serentak dalam tomcat Apr 21, 2024 am 08:12 AM

Cara menyemak bilangan sambungan Tomcat serentak: Lawati halaman Pengurus Tomcat (http://localhost:8080/manager/html) dan masukkan nama pengguna dan kata laluan anda. Klik Status->Sesi dalam bar navigasi kiri untuk melihat bilangan sambungan serentak di bahagian atas halaman.

Di manakah direktori akar laman web tomcat? Di manakah direktori akar laman web tomcat? Apr 21, 2024 am 09:27 AM

Direktori akar tapak web Tomcat terletak dalam subdirektori webapps Tomcat dan digunakan untuk menyimpan fail aplikasi web, sumber statik dan direktori WEB-INF ia boleh didapati dengan mencari atribut docBase dalam fail konfigurasi Tomcat.

Bagaimana untuk menyemak nombor port tomcat Bagaimana untuk menyemak nombor port tomcat Apr 21, 2024 am 08:00 AM

Nombor port Tomcat boleh dilihat dengan menyemak atribut port elemen <Connector> dalam fail server.xml. Lawati antara muka pengurusan Tomcat (http://localhost:8080/manager/html) dan lihat tab "Status". Jalankan "versi catalina.sh" dari baris arahan dan lihat baris "Port:".

Bagaimana untuk menjalankan dua projek dengan nombor port yang berbeza dalam tomcat Bagaimana untuk menjalankan dua projek dengan nombor port yang berbeza dalam tomcat Apr 21, 2024 am 09:00 AM

Menjalankan projek dengan nombor port yang berbeza pada pelayan Tomcat memerlukan langkah berikut: Ubah suai fail server.xml dan tambah elemen Penyambung untuk menentukan nombor port. Tambah elemen Konteks untuk menentukan aplikasi yang dikaitkan dengan nombor port. Buat fail WAR dan gunakannya ke direktori yang sepadan (webapps atau webapps/ROOT). Mulakan semula Tomcat untuk menggunakan perubahan.

See all articles