下面就直接寫過程了,我也是網絡上學習的,只是總結下過程而且利用最新的Apache和Tomcat測試了下,仍是與網絡上有些不一樣的。tomcat
修改Apache配置 服務器
一、修改httpd.conf網絡
個人Apache安裝在D:\Program Files\Apache Software Foundation\Apache2.2,找到conf目錄下的httpd.conf,在文件的最後一行添加session
include "D:\Program Files\Apache Software Foundation\Apache2.2\conf\mod_jk.conf"負載均衡
二、新建mod_jk.conf文件,內容以下:jvm
LoadModule jk_module modules/mod_jk.so學習
JkWorkersFile conf/workers.properties測試
#指定那些請求交給tomcat處理,"controller"爲在workers.propertise裏指定的負載分配控制器名spa
JkMount /* controller插件
三、將下載的JK插件mod_jk.so複製到Apache安裝目錄的modules目錄下。
四、新建並編輯workers.properties文件,內容以下:
#server
worker.list = controller
#========tomcat1========
worker.tomcat1.port=11009
worker.tomcat1.host=localhost
worker.tomcat1.type=ajp13
worker.tomcat1.lbfactor = 1
#========tomcat2========
worker.tomcat2.port=12009
worker.tomcat2.host=localhost
worker.tomcat2.type=ajp13
worker.tomcat2.lbfactor = 1
#========tomcat3========
worker.tomcat3.port=13009
worker.tomcat3.host=192.168.0.80 //在個人虛擬機中的,能夠算遠程的吧
worker.tomcat3.type=ajp13
worker.tomcat3.lbfactor = 1
#========controller,負載均衡控制器========
worker.controller.type=lb
worker.controller.balanced_workers=tomcat1,tomcat2,tomcat3
worker.controller.sticky_session=false
worker.controller.sticky_session_force=1
#worker.controller.sticky_session=1
這裏能夠配置任意多個Tomcat,此處配置了3個Tomat服務器,2個本地,1個遠程,因此爲了它們都可以順利啓動起來,本地的服務器端口都是不一樣的,若是Tomcat再也不同一機器上,不必改端口的。
配置Tomcat
配置3個Tomcat服務器,將Tomcat解壓後複製3份,我將每一個文件夾分別命名爲Tomcat1,Tomcat2和Tomcat3,修改每一份的server.xml配置,將Tomcat1中修改部分以下圖:
Tomcat2中以上部分的server.xml爲:
Tomcat3中以上部分的server.xml爲:
由於Tomat3在遠程服務器,因此不必改端口的,而我先進行的本地集羣測試後將Tomcat3複製到遠程服務器,因此這3個Tomcat端口都不一樣。
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />是接收其餘服務器發送請求的端口號;
<Server port="8005" shutdown="SHUTDOWN">是啓動server後,監聽關閉該server的shutdown命令的端口號;
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="GBK" />是接收客戶端請求的端口號;
AJP13的connector的poat和jvmRoute名稱和workers.properties中配置對應。