1)在windows下安裝的apache,具體安裝過程不說了.版本爲2.2php
2) 與weblogic作負載均衡html
在httpd.conf打開web
LoadModule proxy_module modules/mod_proxy.so算法
LoadModule proxy_balancer_module modules/mod_proxy_balancer.soapache
LoadModule proxy_http_module modules/mod_proxy_http.so windows
把139上的 /spmwls/weblogic1036/wlserver_10.3/server/plugin/win/32/mod_wl_22.so 下載到後端
C:\Program Files (x86)\phpStudy\Apache2\modules裏,而且在conf文件裏多加一句tomcat
LoadModule weblogic_module modules/mod_wl_22.so服務器
在conf文件的最後加上:session
<IfModule mod_weblogic.c>
WeblogicCluster 10.4.119.139:12501,10.4.119.142:12501
MatchExpression *.*
WLLogFile "C:/Program Files (x86)/phpStudy/Apache2/logs/wlproxy.log"
Debug On
DebugConfigInfo On
KeepAliveEnabled On
KeepAliveSecs 15
</IfModule>
ProxyRequests Off
ProxyPreserveHost On
<Proxy balancer://mycluster>
BalancerMember http://10.4.119.139:12501
BalancerMember http://10.4.119.142:12501
</Proxy>
ProxyPass / balancer://mycluster/
以後重啓apache,便可經過http://localhost
訪問139與142,還有些負載均衡的算法啥的,之後再補充
3) 與tomcat負載均衡
在httpd.conf裏,
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
而且:
# add by xh
<IfModule mod_info.c>
<Location /balancer-manager>
SetHandler balancer-manager
Order Deny,Allow
#Deny from all
Allow from localhost ip6-localhost
</Location>
</IfModule>
ProxyPass / balancer://tomcatcluster/
#lbmethod=byrequests stickysession=JSESSIONID nofailover=Off timeout=50 maxattempts=3
ProxyPassReverse / balancer://tomcatcluster/
ProxyPreserveHost On
<Proxy balancer://tomcatcluster>
BalancerMember ajp://localhost:8009 route=tomcat1
BalancerMember ajp://127.0.0.1:8010 route=tomcat2
#BalancerMember http://10.4.101.72:8088 route=tomcat1
#BalancerMember http://10.4.101.51:8081 route=tomcat2
</Proxy>
以後tomcat須要session複製,由於沒有用到粘滯的會話,附件加上tomcat修改的配置文件
apache還能夠用jk配置,也加上附件,apache也能用http的配置,這個是我以爲最拋開底層的
負載均衡的原理實際上就是一個跳轉加上 另一箇中間件服務器自身的session複製;
或者是用apache的stick session 就不用session複製了(一個機器崩潰了以後,須要從新登陸)
下面是weblogic的負載均衡的配置,簡單的列出關鍵部分:
# weblogic plug-in for apache
LoadModule weblogic_module modules/mod_wl_22.so #這個須要把weblogic的目錄下的mod_wl_22.so放入apache的目錄
<IfModule mod_weblogic.c>
WebLogicCluster 10.46.137.53:8001,10.46.137.53:8002,10.46.137.53:8003,10.46.137.53:8004,10.46.137.53:8005
WLIOTimeoutSecs 3600 #響應的超時時間,默認是5分鐘,改大一點,由於有的操做,好比導出啥的,超過5分鐘就跳轉到另一個後端服務器了
MatchExpression /WEB-INF
MatchExpression /*WEB-INF
MatchExpression /*.do
MatchExpression /servlet/*
MatchExpression /*.jsp
MatchExpression /*.*
</IfModule>
<LocationMatch "/">
SetHandler weblogic-handler
</LocationMatch>
Timeout 1000000
KeepAlive on
KeepAliveTimeOut 1500000
另外,apache有個maxclient的屬性,超過了的進程就須要排隊了,因此很重要,我隨意找了個帖子http://blog.csdn.net/leshjmail/article/details/7772968
關於apache的MPM模式,http://www.itokit.com/2012/0703/74568.html
啥調優的一些公式: http://www.360doc.com/content/12/1018/09/834950_242158613.shtml