1 軟件環境 1.1 Windows64位操做系統。 1.2 Apache Http Server 2.4.25 Windows 64位版本 1.3 Tomcat 7 64位版本。 1.4 Apache mod_jk.so Windows 64位版本。 2 軟件安裝配置 2.1 Apache Http Server&mod_jk配置。 解壓軟件包。 在apache安裝目錄下conf目錄中找到http.conf,找到配置中的根路徑參數,進行修改,SRVROOT後面的值修改成apache的安裝路徑或者其餘你想要的設置的路徑。css
Define SRVROOT "D:/workgroup/tomcats/apache/Apache24" ServerRoot "${SRVROOT}"
監聽端口Listen 修改成你想要的端口,默認80,後期訪問系統使用。保證端口未被佔用。 將mod_jk.so拷貝到Apache安裝路徑的modules文件夾下 在apache安裝目錄下conf目錄中找到http.conf,在文件最後加上 include conf/mod_jk.conf
http.conf 同目錄下新建mod_jk.conf文件,添加內容以下:html
#指定模塊路徑 LoadModule jk_module modules/mod_jk.so #指定 workers.properties文件路徑 JkWorkersFile conf/workers.properties #指定哪些請求交給tomcat處理,"controller"爲在workers.propertise裏指定的負載分配控制器名 JkMount /* controller #指定jk的日誌輸出文件 JkLogFile logs/mod_jk.log #指定日誌級別,我這裏設置的警告 JkLogLevel warn #包含標準的mod_jk行爲 (默認) #info #包含錯誤信息 #error #用來配置log文件的日期/時間格式. 使用strftime()的格式化字符串,默認是[%a %b %d %H:%M:%S %Y] JkLogStampFormat "[%a %b %d %H:%M:%S %Y]" #Options Description(選項的說明) # %b 發送的字節, 不包括 HTTP headers (CLF format) # %B 發送的字節, 不包括 HTTP headers # %H 協議 # %m 請求方式(get/post) # %p 服務器響應請求的規範端口. # %q 查詢字符串 (若是存在以?開頭,不然是空串) # %r 請求的第一行. # %s HTTP狀態碼 # %T 請求間隔, 處理請求耗費的時間 秒.微秒 # %U 請求的url路徑,不包含查詢字符串. # %v 響應請求的規範服務器名字 # %V 根據UseCanonicalName設置的服務器名字. # %w Tomcat worker 名字 #JkRequestLogFormat 設置我的用戶請求的log格式. JkRequestLogFormat "%w %V %T"
在http.conf同目錄下新建 workers.properties文件,內容以下:web
#這裏能夠配置任意多個Tomcat,此處配置了2個Tomat服務器. #host和port根據本身實際配置.實例配置的是本機兩個tomcat,分別使用不一樣的端口.避免衝突 #若是Tomcat再也不同一機器上,不必改端口的。 #server 列表 worker.list=controller,status,tomcat1,tomcat2 #========tomcat1======== worker.tomcat1.port=8009 #ajp13 端口號,在tomcat下server.xml配置,默認8009 worker.tomcat1.host=127.0.0.1 #tomcat的主機地址,如不爲本機,請填寫ip地址 worker.tomcat1.type=ajp13 worker.tomcat1.lbfactor=1 #server的加權比重,值越高,分得的請求越多 #========tomcat2======== worker.tomcat2.port=9009 #ajp13 端口號,在tomcat下server.xml配置,默認8009 worker.tomcat2.host=127.0.0.1 #tomcat的主機地址,如不爲本機,請填寫ip地址 worker.tomcat2.type=ajp13 worker.tomcat2.lbfactor=2 #server的加權比重,值越高,分得的請求越多 #========controller,負載均衡控制器======== worker.controller.type=lb #指定此負載平衡器負責的Tomcat應用節點。 worker.controller.balance_workers=tomcat1,tomcat2 #指定分擔請求的tomcat #此處指定集羣是否須要會話複製,若是設爲true,則代表爲會話粘性,不進行會話複製,當某用戶的請求第一次分發到哪臺 #Tomcat後,後繼的請求會一直分發到此Tomcat服務器上處理;若是設爲false,則代表需求會話複製。 worker.controller.sticky_session=false #描述是用於httpd自身狀態監控的status worker.status.type=status
使用Windows命令行以管理員身份進入Apache程序的文件夾下的bin文件夾,輸入httpd -k install,完成Apache服務的安裝。 而後雙擊bin目錄下的ApacheMonitor.exe,點擊右邊的start啓動服務器,若是正常,以下圖: 若啓動失敗,經過查看Windows日誌解決 右鍵 計算機,點擊管理->系統工具->時間查看器->Windows日誌->應用程序,顯示以下: 2.2 Tomcat 配置。 修改集羣下的每一個Tomcat的Server.xml文件 一、定義一個AJP 1.3 同一主機上的tomcat,各個鏈接端口不能相同(多個主機之間不限制),默認值爲8009。apache
<Connector port="8009 " protocol="AJP/1.3" redirectPort="8443" />
二、增長jvmRoute的值,保證同workers.properties裏邊配置的節點值一致。tomcat
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">
三、開啓集羣配置。服務器
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" managerClassName="org.apache.catalina.ha.session.DeltaManager" expireSessionsOnShutdown="false" useDirtyFlag="true" notifyListenersOnReplication="true"> <Membership className="org.apache.catalina.ha.mcast.McastService" mcastAddr="228.0.0.4" mcastPort="45564" mcastFrequency="500" mcastDropTime="3000"/> <Receiver className="org.apache.catalina.ha.tcp.ReplicationListener" tcpListenAddress="auto" tcpListenPort="4001" tcpSelectorTimeout="100" tcpThreadCount="6"/> <Sender className="org.apache.catalina.ha.tcp.ReplicationTransmitter" replicationMode="pooled" ackTimeout="15000" waitForAck="true"/> <Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/> <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.ClusterSessionListener"/> </Cluster>
2.3 集羣環境實現session共享配置 在集羣中的每一個項目的web.xml中增長以下代碼:session
<distributable/>
須要注意的是,這樣作之後存入session的對象必須爲序列化的對象。 http://blog.csdn.net/bingge1022/article/details/73277201負載均衡