APACHE與tomcat服務(wù)安裝以及負(fù)載均衡配置_第1頁
APACHE與tomcat服務(wù)安裝以及負(fù)載均衡配置_第2頁
APACHE與tomcat服務(wù)安裝以及負(fù)載均衡配置_第3頁
APACHE與tomcat服務(wù)安裝以及負(fù)載均衡配置_第4頁
APACHE與tomcat服務(wù)安裝以及負(fù)載均衡配置_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、APACHE 2.2.9+TOMCAT6.0.18 配置負(fù)載均衡 目標(biāo): 使用 apache 和 tomcat 配置一個(gè)可以應(yīng)用的 web 網(wǎng)站,要達(dá)到以下要求:1、 Apache 做為 HttpServer ,后面連接多個(gè) tomcat 應(yīng)用實(shí)例,并進(jìn)行負(fù)載均衡。2、 為系統(tǒng)設(shè)定 Session 超時(shí)時(shí)間,包括 Apache 和 tomcat /download-60.cgi3、 為系統(tǒng)屏蔽文件列表,包括Apache 和 tomcat注:本例程以一臺機(jī)器為例子,即同一臺機(jī)器上裝一個(gè) 一、 前期準(zhǔn)備工作:安裝用的程序(前提保證已安裝了 jdk1.6

2、.0_18 下載: APAHCE 2.2.14 下 載 : /download.cgi 下載 TOMCAT6.0.20 下 載 : apache-tomcat-apache 和 4 個(gè) Tomcat。JDK1.5 以上的版本)apache_2.2.14-win32-x86-no_ssl.msi6.0.20.zip 直 接 解 壓Jdk 安裝目錄下 D:tootsJavajdk1.6.0_18binmsvcr71.dll 復(fù)制到 C:WINDOWSsystem32 下二、安裝過程 設(shè)置環(huán)境變量:JAVA_HOME= D:tootsJavajdk1.6.

3、0_18classpath=.;%JAVA_HOME%lib dt.jar;%JAV A_HOME%libtools.jar; ( .;一定不能少, 因?yàn)樗懋?dāng)前路徑 )path=%JAV A_HOME%binAPAHCE 安裝目錄: D:tootsApache 下四個(gè) TOMCAT 目錄:自行解壓到 (D:toots) 下。分別為 tomcatA , tomcatB, tomcatC , tomcatD三、配置1、 Apache 配置1.1、httpd.conf 配置修改 APACHE 的配置文件 D:tootsApache confhttpd.conf將以下 Module 的注釋去掉,

4、這里并沒有使用 mod_jk.so 進(jìn)行 apache 和 tomcat 的鏈接, 從2.X 以后 apache 自身已集成了 mod_jk.so 的功能。只需簡單的把下面幾行去掉注釋,就相 當(dāng)于以前用 mod_jk.so 比較繁瑣的配置了。這里主要采用了代理的方法,就這么簡單。 LoadModule proxy_module modules/mod_proxy.soLoadModule proxy_connect_module modules/mod_proxy_connect.soLoadModule proxy_ftp_module modules/mod_proxy_ftp.soLoa

5、dModule proxy_http_module modules/mod_proxy_http.soLoadModule proxy_ajp_module modules/mod_proxy_ajp.soLoadModule proxy_balancer_module modules/mod_proxy_balancer.so再找到 <IfModule dir_module></IfModule> 加上 index.jsp 修改成<IfModule dir_module>DirectoryIndex index.html index.jsp</IfM

6、odule>1.1.1、 在最下面加入ProxyRequests Off<proxy balancer:/cluster>BalancerMember ajp:/:9001 loadfactor=1 route=jvm1BalancerMember ajp:/:9002 loadfactor=1 route=jvm2BalancerMember ajp:/:9003 loadfactor=1 route=jvm3BalancerMember ajp:/:9004 loadfactor=1 route=jv

7、m4 <proxy >上面的四個(gè) BalancerMember 成員是我們配置的 tomcat 集群。后面會說明的1.2、httpd-vhosts.conf 設(shè)置接下來進(jìn) 行虛擬主機(jī)的設(shè)置。 APACHE 的虛擬主機(jī)設(shè)置如下: 首先要修改 conf/httpd.conf 找到(#Include conf/extra/httpd-vhosts.conf) 把注釋去掉。# Virtual hostsInclude conf/extra/httpd-vhosts.conf在文件( D:/toots/Apache/conf/extra/httpd- vhosts.conf )最下面加入&l

8、t;VirtualHost *:80>ServerAdmin rosiDocumentRoot "D:/toots/Apache/docs/dummy-host3.localhost"/ 你的安裝目錄ServerName localhost/ 服務(wù)名 (域名 )ServerAlias localhost/ 服務(wù)別名ProxyPass / balancer:/cluster/ stickysession=jsessionid nofailover=OnProxyPassReverse / balancer:/cluster/</VirtualHost>其 中

9、的域名和路徑根據(jù)你自己情況設(shè)置 然后再設(shè)置 TOMCAT 虛擬主機(jī)2 配置 tomcat2.1. 配置 server 的關(guān)閉我 們需要在一臺機(jī)器上跑 4 個(gè)不同的 tomcat ,需要修改不同的 tomcat 的關(guān)閉口, 避免 出現(xiàn)端口被占用的情況。在TomcatAconf,TomcatBconf,TomcatCconf 下和TomcatDconf 下的 server.xml 中找到 server, 將:<Server port="8005" shutdown="SHUTDOWN"> 改為<Server port="XXXX&

10、quot; shutdown="SHUTDOWN">XXXX 在這里表示不同的端口: 我的其它四個(gè) tomcat 分別使用 9006,9007,9008 , 90092.2. 配置 Engine把原來的配置注釋掉,把下面一句去掉注釋。并標(biāo)明 jvmRoute="jvm2".<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm2"> 以下是原來的配置。<!- <Engine name="C

11、atalina" defaultHost="localhost"> ->其他( tomcat6.02 和 tomcat6.03 )也要同樣 配置。注意: jvmRoute 配置不要一樣。<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm3"><Engine name="Catalina" defaultHost="localhost" jvmRoute="

12、jvm4">2.3. 配置 Connector 原來的默認(rèn)配置。<!- Define an AJP 1.3 Connector on port 8009 -><Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />這里是 apache 和 tomcat 鏈接的關(guān)鍵,前臺 apache 就是通過 AJP 協(xié)議與 tomcat 進(jìn)行通信 的,以完成負(fù)載均衡的作用。也可以用 HTTP 協(xié)議。大家注意它們是如何連接通信的,上 面的紅

13、色部分( port="8009" )就是連 接的接口了。把四個(gè) tomcat 的 <Connector port="XXX" />port 分別改成與上面<proxy balancer:/cluster>#與 tomcatA 對應(yīng), route 與 <Engine jvmRoute="jvm1"> 對應(yīng)。BalancerMember ajp:/:9001 loadfactor=1 route=jvm1#與 tomcatB 對應(yīng), route 與 <Engine jvmRout

14、e="jvm2"> 對應(yīng)。BalancerMember ajp:/ :9002 loadfactor=1 route=jvm2#與 tomcatC 對應(yīng), route 與 <Engine jvmRoute="jvm3"> 對應(yīng)。BalancerMember ajp:/ :9003 loadfactor=1 route=jvm3#與 tomcatD 對應(yīng), route 與 <Engine jvmRoute="jvm4"> 對應(yīng)。BalancerMember ajp:/ 1

15、:9004 loadfactor=1 route=jvm4</proxy>中的端口對應(yīng),tomcatA 改為 <Connector port="9001" protocol="AJP/1.3" redirectPort="8441" /> .tomcatB 改為 <Connector port="9002" protocol="AJP/1.3" redirectPort="8442" /> tomcatC 改為 <Co

16、nnector port="9003" protocol="AJP/1.3" redirectPort="8443" /> tomcatD 改為 <Connector port="9004" protocol="AJP/1.3" redirectPort="8444" /><Connector executor="tomcatThreadPool"port="8081" protocol="HTTP/1

17、.1" connectionTimeout="20000" redirectPort="9441" /><Connector executor="tomcatThreadPool"port="8082" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="9442" /><Connector executor="tomcatThreadPool&

18、quot;port="8083" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="9443" /><Connector executor="tomcatThreadPool"port="8084" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="9444" />

19、一定要與上面的一致。 同時(shí)也要把 redirectPort 的值改成 唯一的, 確保四個(gè) tomcat 的都不 一樣。2.4.配置 Cluster( 每個(gè) tomcat 中都要修改 ) 原來的配置。<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>修改為以下的代碼:vReceiver port= ” XX' />port也要保證唯一性,tomcatA 改為 <Receiver port="5001".tomcatB 改為 vReceiver

20、port="5002"tomcatC 改 為 vReceiver port="5003"tomcatD 改為 vReceiver port="5004"確保四 個(gè)tomcat的都不一樣。以下是tomcatA的內(nèi)容紅色部分, 分別是5001,5002,5003,5004.vClusterclassName="org.apache.catalina.ha.tcp.SimpleTcpCluster"channelSendOptions="6">vManager className="o

21、rg.apache.catalina.ha.session.BackupManager"expireSessionsOnShutdown="false"notifyListenersOnReplication="true"mapSendOptions="6"/>v!-vManager className="org.apache.catalina.ha.session.DeltaManager"expireSessionsOnShutdown="false"notifyListen

22、ersOnReplication="true"/>->vChannel className="org.apache.catalina.tribes.group.GroupChannel">vMembership className="org.apache.catalina.tribes.membership.McastService"address=""port="45564"frequency="500"dropTime="30

23、00"/>vReceiver className="org.apache.catalina.tribes.transport.nio.NioReceiver" address="auto"port="5001"selectorTimeout="100"maxThreads="6"/>vSender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">vTra

24、nsport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/> v/Sender>vInterceptor className="erceptors.TcpFailureDetector"/> vInterceptorclassName="erceptors.MessageDispat

25、ch15Interceptor"/>vInterceptor className="erceptors.ThroughputInterceptor"/> v/Channel><Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter=".*.gif;.*.js;.*.jpg;.*.png;.*.htm;.*.html;.*.css;.*.txt;"/&

26、gt;<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.Clust

27、erSessionListener"/> </Cluster>這個(gè)設(shè)置是主要用以 tomcat 的集群。把解壓縮版的 tomcat6 注冊成服務(wù)并設(shè)置自啟動當(dāng)然 ,這樣注冊出來的服務(wù)啟動類型是手動的 ,如果想設(shè)置為開機(jī)自動啟動,則需要修改注冊服務(wù)自啟動:bin 目錄下的 service.bat 文件打開此文 件 ,在倒數(shù)第三行左右的那句輸出echo The service '%SERVICE_NAME%' has been installed.這 句是輸出服務(wù)安裝成功 ,在這之前加一句sc config %SERVICE_NAME% start= a

28、uto就 OK 了,以后開機(jī)后 tomcat 服務(wù)就自動啟動了 注冊服務(wù):首先,在開始->運(yùn)行中敲cmd,進(jìn)入MS-DOS界面cd 到 tomcat 的 bin 目錄下運(yùn)行命令 service install TomcatA就可以把 tomcat 注冊成系統(tǒng)服務(wù)了,服務(wù)的名 稱是 TomcatA 刪除服務(wù)運(yùn)行service uninstall TomcatA 就可以了四、啟 動服務(wù),測試 tomcat 自帶的例子1測試apache和tomcat協(xié)作。先在每個(gè) tomcat 中的 webappsROOT 下的 index.jsp 下面加上以下的測試代碼部分: (X 代 表不同的 tomca

29、t 的輸出不同的信息 ),把 index.html 刪除,以免影響測試效果。在最后 面 的加上 .即 </table></body> 之間。<%System.out.println("tomcat6.0X deal with request");%>然后再通過 http:/localhost 來訪問一下,就會出現(xiàn)大家熟悉的貓貓。 然后再通過分別訪問http:/ :8081,http:/ :8082 ,http:/ :8083 ,http:/ :8084它們訪問的內(nèi)容和

30、上面的 http:/ 是一樣的。這樣就說明 apache 和 TOMCAT 整合成功!這樣就說明 apache 和 TOMCAT 整合成功!2、測試均衡器通過 http:/ 多次訪問,要想看到真正的效果,必須用一些壓力測試工具,可用微軟 Microsoft Web Application Stress Tool 進(jìn)行簡單壓力測試, 不然你靠不停刷新是體現(xiàn)不出 來的,你只會在一個(gè) tomcat 的控制臺有輸出結(jié)果。只用用壓力測試工具模擬大量用戶同時(shí) 訪問,你 會發(fā)現(xiàn)四個(gè) tomcat 控制臺均有打出控制信息,說明均衡器工作正常。3、測試Session復(fù)制訪

31、問 url: http:localhost/examples/servlet/SessionExample 可以得至U個(gè)關(guān)于 session的例 子,我們用它來測試集群的錯(cuò)誤恢復(fù)能力。測試步驟如下:關(guān)閉 tomcat1 和 tomcat2;啟 動 tomcat1在瀏覽器中輸入屬性名tomcatl和屬性值tomcatl再提交,返回的頁面顯示session中有剛剛輸入的 tomcat1 屬性;啟動 tomcat2;過一會后(等待 tomcat2 和 tomcat1 通信并復(fù)制信息)關(guān)閉 tomcat1 ;在瀏覽器中輸入 屬性名tomcat2和屬性值tomcat2再提交,返回的頁面顯示 sessio

32、n中有剛 剛輸入的 tomcat2 屬性,還有先前輸入的 tomcat1 屬 性;啟動 tomcat1 ;過一會后(等待 tomcat2 和 tomcat1 通信并復(fù)制信息)關(guān)閉 tomcat2;在瀏覽器中輸入屬性名tomcatll和屬性值tomcatll再提交,返回的頁面顯示 session中有剛剛輸入的 tomcat11 屬性,還有先前輸入的 tomcat1 和 tomcat2 屬性 ;域名綁定與虛擬目錄設(shè)置 :server.xml 的修改方式如下 :(一)多域名綁定2. 接下來就是重點(diǎn)了哈哈 .單個(gè)域名綁定:原始 :<Engine name="Catalina" defaultHost="localhost"><Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false" /></Engine>當(dāng) 然這里我把注釋代碼統(tǒng)統(tǒng)刪除掉了,省的礙眼修改后 :<Host name=&quo

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論