apache負(fù)載均衡的安裝和實(shí)現(xiàn)方法
其實(shí)無論是分布式,數(shù)據(jù)緩存,還是負(fù)載均衡,無非就是改善網(wǎng)站的性能瓶頸,在網(wǎng)站源碼不做優(yōu)化的情況下,負(fù)載均衡可以說是最直接的手段了。其實(shí)拋開這個(gè)名詞,放開了說,就是希望用戶能夠分流,也就是說把所有用戶的訪問壓力分散到多臺(tái)服務(wù)器上,也可以分散到多個(gè)tomcat里,如果一臺(tái)服務(wù)器裝多個(gè)tomcat,那么即使是負(fù)載均衡,性能也提高不了太多,不過可以提高穩(wěn)定性,即容錯(cuò)性。當(dāng)其中一個(gè)主tomcat當(dāng)?shù)?其他的tomcat也可以補(bǔ)上,因?yàn)閠omcat之間實(shí)現(xiàn)了Session共享。待tomcat服務(wù)器修復(fù)后再次啟動(dòng),就會(huì)自動(dòng)拷貝所有session數(shù)據(jù),然后加入集群。這樣就可以不間斷的提供服務(wù)。如果要真正從本質(zhì)上提升性能,必須要分布到多臺(tái)服務(wù)器。同樣tomcat也可以做到。網(wǎng)上相關(guān)資料比較多,可以很方便的查到,但是質(zhì)量不算高。我希望可以通過這篇隨筆,系統(tǒng)的總結(jié)。本文的
例子是同一臺(tái)服務(wù)器上運(yùn)行兩個(gè)tomcat,做兩個(gè)tomcat之間的負(fù)載均衡。其實(shí)多臺(tái)服務(wù)器各配置一個(gè)tomcat也可以,而且那樣的話,可以使用安裝版的tomcat,而不用是下文中的免安裝的tomcat,而且tomcat端口配置也就不用修改了。下文也會(huì)提到。
tomcat的負(fù)載均衡需要apache服務(wù)器的加入來實(shí)現(xiàn)。在進(jìn)行配置之前請(qǐng)先卸載調(diào)已安裝的tomcat,然后檢查apache的版本。我這次配置使用的是apache-tomcat-6.0.18免安裝版本,我親自測(cè)試后推斷安裝版的tomcat在同一臺(tái)機(jī)子上會(huì)不能啟動(dòng)兩個(gè)以上,可能是因?yàn)榘惭b版的tomcat侵入了系統(tǒng),導(dǎo)致即使在server.xml里修改了配置,還是會(huì)引起沖突。所以我使用tomcat免安裝版。
apache使用的是apache_2.2.11-win32-x86-no_ssl.msi。如果版本低于2.2Apache負(fù)載均衡的配置要有所不同,因?yàn)檫@個(gè)2.2.11和2.2.8版本集成了jk2等負(fù)載均衡工具,所以配置要簡單許多。別的版本我沒有具體測(cè)試,有待考究。這兩個(gè)軟件可以到官方網(wǎng)站下載。
把Apache安裝為運(yùn)行在80端口的Windows服務(wù),安裝成功后在系統(tǒng)服務(wù)列表中可以看到Apache2.2服務(wù)。服務(wù)啟動(dòng)后在瀏覽器中輸入http://localhost進(jìn)行測(cè)試,如果能看到一個(gè)"It works!"的頁面就代表Apache已經(jīng)正常工作了。把tomcat解壓到任意目錄,賦值一個(gè)另命名。起名和路徑對(duì)配置沒有影響。但要保證端口不要沖突,如果裝有Oracle或IIS的用戶需要修改或關(guān)閉相關(guān)接口的服務(wù)。當(dāng)然jdk的配置也是必須的,這個(gè)不再過多敘述。
想要達(dá)到負(fù)載均衡的目的,首先,在Apache安裝目錄下找到conf/httpd.conf文件,去掉以下文本前的注釋符(#)以便讓Apache在啟動(dòng)時(shí)自動(dòng)加載代理(proxy)模塊。
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
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
向下拉動(dòng)文檔找到<IfModule dir_module>節(jié)點(diǎn),在DirectoryIndex index.html后加上index.jsp,這一步只是為了待會(huì)配置完tomcat后能看到小貓首頁,可以不做。繼續(xù)下拉文檔找到Include conf/extra/httpd-vhosts.conf,去掉前面的注釋符。
然后打開conf/extra/httpd-vhosts.conf,配置虛擬站點(diǎn),在最下面加上
<VirtualHost *:80>
ServerAdmin 管理員郵箱
ServerName localhost
ServerAlias localhost
ProxyPass / balancer://sy/ stickysession=jsessionid nofailover=On
ProxyPassReverse / balancer://sy/
ErrorLog "logs/sy-error.log"
CustomLog "logs/sy-access.log" common
</VirtualHost>
然后回到httpd.conf,在文檔最下面加上
ProxyRequests Off
<proxy balancer://sy>
BalancerMember ajp://127.0.0.1:8009 loadfactor=1 route=jvm1
BalancerMember ajp://127.0.0.1:9009 loadfactor=1 route=jvm2
</proxy>
ProxyRequests Off 是告訴Apache需要使用反向代理,ip地址和端口唯一確定了tomcat節(jié)點(diǎn)和配置的ajp接受端口。loadfactor是負(fù)載因子,Apache會(huì)按負(fù)載因子的比例向后端tomcat節(jié)點(diǎn)轉(zhuǎn)發(fā)請(qǐng)求,負(fù)載因子越大,對(duì)應(yīng)的tomcat服務(wù)器就會(huì)處理越多的請(qǐng)求,如兩個(gè)tomcat都是1,Apache就按1:1的比例轉(zhuǎn)發(fā),如果是2和1就按2:1的比例轉(zhuǎn)發(fā)。這樣就可以使配置更靈活,例如可以給性能好的服務(wù)器增加處理工作的比例,如果采取多臺(tái)服務(wù)器,只需要修改ip地址和端口就可以了。route參數(shù)對(duì)應(yīng)后續(xù)tomcat負(fù)載均衡配置中的引擎路徑(jvmRoute)
- Red Hat Linux,Apache2.0+Weblogic9.2負(fù)載均衡集群安裝配置
- 用apache和tomcat搭建集群(負(fù)載均衡)
- tomcat6_apache2.2_ajp 負(fù)載均衡加集群實(shí)戰(zhàn)分享
- 簡單測(cè)試Apache是如何完成負(fù)載均衡策略配置
- Apache實(shí)現(xiàn)Web Server負(fù)載均衡詳解(不考慮Session版)
- Apache2.2以上版本與Tomcat整合配置及負(fù)載均衡實(shí)現(xiàn)
- Apache負(fù)載均衡設(shè)置方法 mod_proxy使用介紹
- Nginx+Tomcat高性能負(fù)載均衡集群搭建教程
- Nginx+Tomcat搭建高性能負(fù)載均衡集群的實(shí)現(xiàn)方法
- nginx+tomcat實(shí)現(xiàn)Windows系統(tǒng)下的負(fù)載均衡搭建教程
- 詳解基于Centos7+Nginx+Tomcat8的負(fù)載均衡服務(wù)器的搭建
- 詳解Nginx + Tomcat 反向代理 負(fù)載均衡 集群 部署指南
- nginx+tomcat實(shí)現(xiàn)負(fù)載均衡,使用redis session共享
- 詳解Ngigx+Tomcat配置動(dòng)靜分離,負(fù)載均衡
- Nginx與Tomcat實(shí)現(xiàn)動(dòng)靜態(tài)分離和負(fù)載均衡
- Nginx+Tomcat+Https 服務(wù)器負(fù)載均衡配置實(shí)踐方案詳解
- linux下Nginx+Tomcat負(fù)載均衡配置方法
- windows下nginx+tomcat配置負(fù)載均衡的方法
- Debian下搭建Nginx和Tomcat服務(wù)器實(shí)現(xiàn)負(fù)載均衡的方案
- Windows下Apache+Tomcat7負(fù)載均衡配置方法詳解
相關(guān)文章
Apeache啟動(dòng)不成功時(shí),用命令行檢測(cè)的方法
下面小編就為大家?guī)硪黄狝peache啟動(dòng)不成功時(shí),用命令行檢測(cè)的方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-09-09Windows上安裝Apache2、PHP5、MySQL5及與Resin配合實(shí)現(xiàn)多系統(tǒng)之整合
筆者之前一直使用Resin作為WEB應(yīng)用服務(wù)器,近來有項(xiàng)目需要在已有的JSP系統(tǒng)中整合phpwind系統(tǒng),因此首次嘗試在電腦中配置PHP的運(yùn)行環(huán)境。2010-03-03linux 可執(zhí)行文件與寫操作的同步問題(文件讀寫操作產(chǎn)生的鎖機(jī)制)
在哪種系統(tǒng)下都會(huì)有文件操作產(chǎn)生的同步問題,今天說說linux下讀寫文件的鎖機(jī)制。2013-10-10win8下XAMPP中Apache模塊無效(apache無法打開)的解決方法
win8下系統(tǒng)默認(rèn)占用80端口,導(dǎo)致apache無法打開,下面是具體的解決方法:首先以管理員權(quán)限運(yùn)行c:\windows\system32\cmd.exe.....感興趣的朋友可以參考下哈,希望對(duì)大家有所幫助2013-07-07CentOS下寶塔部署Django項(xiàng)目的詳細(xì)教程
這篇文章主要介紹了CentOS下寶塔部署Django項(xiàng)目的詳細(xì)教程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04ubuntu下kvm 命令行安裝64位ubuntu報(bào)"Couldn''t find hvm kernel for Ubu
這篇文章主要介紹了ubuntu下kvm 命令行安裝64位ubuntu報(bào)"Couldn't find hvm kernel for Ubuntu tree."的問題分析的相關(guān)資料,需要的朋友可以參考下2016-11-11