国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 服務器 > Web服務器 > 正文

Windows下Apache+Tomcat7負載均衡配置方法詳解

2024-09-01 13:56:20
字體:
來源:轉載
供稿:網友

準備工作

Windows Server 2008 R2 Enterprise(2.40GH,8GB,64Bit,192.168.10.212)
2臺Ubuntu 10.04.4(192.168.10.98,192.168.10.137)
JDK1.7.80
Tomcat7.0.68
Apache2.4.4

1.安裝Apache2.4.4

安裝過程中沒什么注意事項,一直Next就行了。安裝完成后默認開啟Apache服務,可以在瀏覽器上輸入localhost或者127.0.0.1,這時候會出現It works的字樣 

2.Java環境

在Ubuntu上的配置網上很多我就不多講了,但是記得配置JAVA_HOME和PATH 

3.Tomcat安裝

直接解壓在目錄中就好了,我的目錄在/opt/tomcat7/,在兩臺Ubuntu上都解壓。可能會遇到權限不足的問題,這時候就要敲命令啦,最簡單粗暴的,莫過于sudo chmod 777 目錄,鑒于安全問題,各位還是妥善地進行授權,這就不提了。

開始配置

Apache的配置 

1.首先打開一些必要的Module注釋(把前面的#號去掉就行),在conf/httpd這個文件中

LoadModule proxy_module modules/mod_proxy.soLoadModule proxy_ajp_module modules/mod_proxy_ajp.soLoadModule proxy_balancer_module modules/mod_proxy_balancer.soLoadModule proxy_connect_module modules/mod_proxy_connect.soLoadModule slotmem_shm_module modules/mod_slotmem_shm.soLoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so

這里我提一下最后兩個個,我當時只打開了前面幾個,結果Apache一直啟動不起來

看了看日志發現一直在報Failed to lookup provider ‘shm' for ‘slotmem': is mod_slotmem_shm loaded??這個錯誤,我看了看才發現原來沒有打開這個Module,去掉#號就不會報這個錯誤了;

另外一個是因為報了(22)Invalid argument: AH01183: Cannot share balancer這個錯誤,打開這個Module之后就不會報錯啦。

2.在conf/httpd文件中打開Virtual hosts的注釋 

在Include前去掉#號

3.在conf/extra/httpd-vhosts.conf中添加配置 

先把我自己的配置貼出來

<VirtualHost *:80>  ServerAdmin 502053382@qq.com  ProxyPass / balancer://cluster/ stickysession=JSESSIONID|jsessionid nofailover=On  ProxyPassReverse / balancer://cluster/  ServerName 192.168.10.212  ErrorLog "logs/error.log"  CustomLog "logs/access.log" common</VirtualHost>ProxyRequests Off<proxy balancer://cluster>  BalancerMember ajp://192.168.10.98:8009 loadfactor=1 route=jvm1 smax=5 max=20 ttl=120 retry=300 timeout=15  BalancerMember ajp://192.168.10.137:8009 loadfactor=1 route=jvm2 smax=5 max=20 ttl=120 retry=300 timeout=15</proxy>

ProxyPass :將遠程服務器映射到本地服務器的URL空間

balancer:// :代理的指令類型

stickysession : 均衡器粘連會話名稱。該值常常會被設置為類似JSESSIONID或者 PHPSESSIONID之類的值,他依賴于支持會話的后端應用服務器。如 果后端服務器使用不同的cookie名稱或者URL編碼的ID(像servlet 容器),使用|來分開他們。第一個部分針對cookie,第二個針對路徑。

nofailover : 如果設為‘On',當工作單元被禁用或者出錯時,會話則立即中斷。可以將 該值設為On如果后端服務器不支持會話復制(Session replication)。

ProxyRequests : 在使用ProxyPass指令的時候,ProxyRequests指令通常都應該是關閉 的。

BalancerMember : 均衡成員

loadfactor : 工作單元負載系數。用于BalancerMember。它是一個1到100之間的數 字,用于定義應用于該工作單元的正規化權重負載。

route : 工作單元的路由,用于負載均衡器中。該路由是附加給會話ID的一個值。

smax : 根據需要最多創建數量為柔性最大值(Soft Maximum),也就是smax的鏈接。 任何超出smax數量的鏈接都會指定一個生存時間也就是ttl。 

max : 默認值為當前MPM中每個進程的線程數量。在Prefork MPM中,該值總是為 1,在Worker MPM中,該值受ThreadsPerChild控制。 

ttl : 超出smax連接數的非活動鏈接的生存時間(Time To Live),單位為秒。Apache 會關閉在這段時間內沒有被用過的所有鏈接。 

retry : 線程池工作單元重試的超時時間,以秒為單位。如果到后端服務器的線程池工 作單元狀態是出錯,Apache將不會遞交任何請求到該服務器,直到超時結束。 這可以令后端服務器關閉進行維護,并稍后上線。如果值為0則表示總是重試 錯誤狀態的工作單元不等待任何時間。 

timeout : 鏈接超時時間,單位為秒。如果未設置,那么Apache會一直等到有可用的鏈接 位置。該指令常和max參數一起使用來限制到后端服務器的鏈接。

這樣就差不多配置完了,重啟Apache服務就可以了。

注意:當輸入localhost或者127.0.0.1的時候已經不會出現It works的字樣,而是會報503錯誤,這是正常的,因為現在Apache已經開起了負載均衡的功能,已經通過AJP導向對象IP上的Tomcat,只是Tomcat還沒有啟動過。

Tomcat的配置 

以192.168.10.98這臺服務器為例 

使用Vim打開conf下面的server.xml(不會Vim的請自行腦補╮(╯▽╰)╭)。這里介紹的負載均衡,是Apache通過AJP協議與Tomcat進行銜接,所以在Apache中配置的端口號是Tomcat中AJP的端口號。 

此外,需要在Engine中配置jvmRoute

 <Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">

這里的jvmRoute對應的是Apache中的route。(我剛才把這個去掉不配置,發現竟然也可以,覺得很神奇,但應該是要配置。)

最后還要將

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

這個注釋打開

至此,配置已經完成。同理在192.168.10.137上也這樣配置。

編寫一個小小的測試用的test.jsp

<%@ page contentType="text/html;charset=UTF-8" %><%@ page import="java.util.*"%><html>  <head>    <title>ApacheTomcatTest</title>  </head>  <body>    <%      out.println("<br> SESSION ID:" + session.getId() + "</br>");    %>  </body></html>

在Tomcat的webapps目錄下面創建一個balance文件夾,將test.jsp放在該文件夾下面,啟動Tomcat

最后在瀏覽器中輸入192.168.10.212/balance/test.jsp 
會發現SESSION ID的值一直在兩個數字之間變換

這就是負載均衡的體現了。當然,輸入192.168.10.212出現的也不會是It works,而是經典的Tomcat首頁。

對了,以上是基于三臺服務器的關于Apache+Tomcat7負載均衡配置方法


注:相關教程知識閱讀請移步到服務器教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 科尔| 扎兰屯市| 额尔古纳市| 鸡西市| 灵石县| 灌阳县| 长寿区| 吴忠市| 双柏县| 仪征市| 包头市| 合江县| 万年县| 隆子县| 盐津县| 闽清县| 界首市| 图们市| 安义县| 大丰市| 石河子市| 温泉县| 铜川市| 庆云县| 肥乡县| 上思县| 新晃| 荆门市| 德庆县| 澜沧| 平度市| 乐至县| 迁安市| 江永县| 东港市| 县级市| 临夏县| 思南县| 双城市| 云阳县| 江城|