日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

tomcat +apache 配置集群

發布時間:2025/3/8 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 tomcat +apache 配置集群 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

APACHE2.2.25+TOMCAT6.0.37配置負載均衡

目標:

使用 apache 和 tomcat 配置一個可以應用的 web 網站,要達到以下要求:

1.?? Apache 做為 HttpServer ,后面連接多個 tomcat 應用實例,并進行負載均衡。

2.?? 為系統設定 Session 超時時間,包括 Apache 和 tomcat

3.?? 為系統屏蔽文件列表,包括 Apache 和 tomcat

注:本例程以一臺機器為例子,即同一臺機器上裝一個apache和4個Tomcat。

一、前期準備工作:安裝用的程序(前提保證已安裝了JDK1.5以上的版本)

APAHCE 2.2.25下載:httpd-2.2.25-win32-x86-no_ssl.msi

TOMCAT6.0.37下載:apache-tomcat-6.0.37-windows-x64.zip直接解壓。

二、安裝過程

APAHCE安裝目錄:D:\Apache。

四個TOMCAT目錄:自行解壓到(D:\Tomcat集群服務器\)下。分別為 tomcat1,tomcat2,tomcat3,tomcat4

這幾個安裝過程就不詳細說明了。

三、配置

1、Apache配置

1.1、httpd.conf配置

修改APACHE的配置文件D:\Apache \conf\httpd.conf

將以下Module的注釋去掉,這里并沒有使用mod_jk.so進行apache和tomcat的鏈接,從2.X以后apache自身已集成了mod_jk.so的功能。只需簡單的把下面幾行去掉注釋,就相當于以前用mod_jk.so比較繁瑣的配置了。這里主要采用了代理的方法,就這么簡單。
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so

再找到<IfModule dir_module></IfModule>加上index.jsp修改成

<IfModule dir_module>

DirectoryIndex index.html index.jsp

</IfModule>

1.1.1、? 在最下面加入

<proxy balancer://cluster>

BalancerMember ajp://127.0.0.1:8009 loadfactor=1 route=jvm1

BalancerMember ajp://127.0.0.1:9003 loadfactor=1 route=jvm2

BalancerMember ajp://127.0.0.1:9004 loadfactor=1 route=jvm3

BalancerMember ajp://127.0.0.1:9005 loadfactor=1 route=jvm4

</proxy>

上面的四個BalancerMember成員是我們配置的tomcat集群。后面會說明的。

1.2、httpd-vhosts.conf設置

接下來進行虛擬主機的設置。APACHE的虛擬主機設置如下:

首先要修改 conf/httpd.conf找到(#Include conf/extra/httpd-vhosts.conf)

把注釋去掉。

# Virtual hosts

Include conf/extra/httpd-vhosts.conf

在文件(extra/httpd-vhosts.conf)最下面加入

<VirtualHost *:80>

???????? ServerAdmin 360293650@qq.com

???????? ServerName localhost

???????? ServerAlias localhost

???????? ProxyPass / balancer://cluster/ stickysession=jsessionid nofailover=On

???????? ProxyPassReverse / balancer://cluster/

</VirtualHost>

其中的域名和路徑根據你自己情況設置

然后再設置TOMCAT虛擬主機

2 配置 tomcat

參數參考表

可先看后面的步驟在回頭查看參考表,或者根據自己的端口使用情況自己定義端口的分配。

Tomcat

Service.

port

Engine.

jvmRoute

Connector.

port

Connector.

redirectPort

Receiver.

port

tomcat1

8005

jvm1

8009

8443

4000

tomcat2

8006

jvm2

9003

8444

4001

tomcat3

8007

jvm3

9004

8445

4002

tomcat4

8008

jvm4

9005

8446

4003

2.1.配置 server 的關閉

我們需要在一臺機器上跑 4 個不同的 tomcat ,需要修改不同的 tomcat 的關閉口,避免出現端口被占用的情況。其中tomcat1用默認值,不修改。其他三個修改。在conf下的 server.xml 中找到 server, 將:

<Server port="8005" shutdown="SHUTDOWN">

改為

<Server port="XXXX" shutdown="SHUTDOWN">

XXXX 在這里表示不同的端口:我的其它三個 tomcat 分別使用的端口可查看參數參考表

2.2.配置 Engine

?把原來的配置注釋掉,把下面一句去掉注釋。并標明jvmRoute="jvm2".

<Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm2">????????

以下是原來的配置。

<!-- <Engine name="Catalina" defaultHost="localhost">? -->

其他(tomcat3和tomcat4)也要同樣配置。注意:jvmRoute配置不要一樣。

<Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm3">?

<Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm4">?

2.3.配置 Connector

原來的默認配置。

<!-- Define an AJP 1.3 Connector on port 8009 -->

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

這里是apache和tomcat鏈接的關鍵,前臺apache就是通過AJP協議與tomcat進行通信的,以完成負載均衡的作用。也可以用HTTP協議。大家注意它們是如何連接通信的,上面的紅色部分(port="8009")就是連接的接口了。

把其他三個tomcat的<Connector port="XXX" />port分別改成與上面

<proxy balancer://cluster>

#與tomcat1對應,route與<Engine jvmRoute="jvm1">對應。

BalancerMember ajp://127.0.0.1:8009 loadfactor=1 route=jvm1

#與tomcat2對應,route與<Engine jvmRoute="jvm2">對應。

BalancerMember ajp://127.0.0.1:9003 loadfactor=1 route=jvm2

#與tomcat3對應,route與<Engine jvmRoute="jvm3">對應。

BalancerMember ajp://127.0.0.1:9004 loadfactor=1 route=jvm3

#與tomcat4對應,route與<Engine jvmRoute="jvm4">對應。

BalancerMember ajp://127.0.0.1:9005 loadfactor=1 route=jvm4

</proxy>

中的端口對應,tomcat1 的ajp端口port:9003. Tomcat2 的ajp端口port:9004。Tomcat3 的ajp端口port:9005.一定要與上面的一致。同時也要把redirectPort的值改成唯一的,確保四個tomcat的都不一樣。可查看參數參考表

2.5.配置Cluster(每個tomcat中都要修改)

原來的配置。

<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>

修改為以下的代碼:<Receiver port=”XX”/>port也要保證唯一性。

<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="6">

???? <Manager className="org.apache.catalina.ha.session.BackupManager" expireSessionsOnShutdown="false" notifyListenersOnReplication="true" mapSendOptions="6"/>

???? <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" port="4000" selectorTimeout="100" 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"/>

???????? <Interceptor className="org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor"/>

???? </Channel>

???? <Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/>

???? <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.ClusterSessionListener"/>

</Cluster>

這個設置是主要用以tomcat的集群。

轉載于:https://my.oschina.net/u/1867229/blog/825844

總結

以上是生活随笔為你收集整理的tomcat +apache 配置集群的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。