Apache,Tomcat集群和負載均衡
搭建環境:Windows+Apache+jdk1.6+Tomcat+mod_jk.so(本機的windows32位機,所下載文件全是32位機可用)
Apache
:http://apache.etoak.com/httpd/binaries/win32/httpd-2.2.15-win32-x86-openssl-0.9.8m-r2.msi
Tomcat
:http://labs.renren.com/apache-mirror/tomcat/tomcat-6/v6.0.26/bin/apache-tomcat-6.0.26-windows-x86.zip
(此版本直接解壓就可以使用,比起windows下的tomcat安裝包里面的工具更多一些!)
mod_jk.so
:http://apache.etoak.com/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.30/mod_jk-1.2.30-httpd-2.2.3.so
jdk1.6 : http://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/VerifyItem-Start/jdk-6u18-windows-i586.exe?BundledLineItemUUID=IsVIBe.liaEAAAEnInIZJnRt&OrderID=v7FIBe.lHjoAAAEnFnIZJnRt&ProductID=Vh5IBe.pm2QAAAElRytRSbJV&FileName=/jdk-6u18-windows-i586.exe
由于是在虛擬機上面實驗,只有一個C盤,so 把所有的都裝在了C盤的根目錄
1.安裝JDK 安裝目錄為
|--C盤
|-----Java
|-----jdk1.6.0_18
|-----jre6
<!--
真是糾結
,本來都快寫完了,也不知道是
ff
的問題還是
javaeye
的問題,都沒有了,還得重新寫,我明明,都保存了的,我寫點就保存,怎麼還是沒有呢?
悠悠的傷心,白整理
3
個小時!真浪費時間,下次就整理好再發佈,
tmd
-->
1.1 設置環境變數,我的電腦右鍵
–
屬性
– “
高級
”
選項卡
–
環境變數
–
系統變數
找到
path
,添加如下內容:
;C:\Java\jdk1.6.0_18\bin;
(
與前面的要用
;
隔開
)
如圖所示:
1.2
添加
classpath
環境變數,在系統變數裏面新建環境變數
classpath
,添加如下內容:
.;C:\Java\jdk1.6.0_18\lib;C:\Java\jdk1.6.0_18\lib\dt.jar;C:\Java\jdk1.6.0_18\lib\tools.jar;
(
注意前面要有
.;
這
2
個符號
),
如圖所示:
1.3
添加
JAVA_HOME
環境變數,在系統變數裏面新建環境變數
JAVA_HOME
,添加如下內容:
C:\Java\jdk1.6.0_18;
如圖所示:
2.
配置
apache
,
apache
配置檔目錄為
:
c:\Apache2.2\conf\httpd.conf
所用到的文件分佈
:
c:\Apache2.2
| +--bin
| |
| |-httpd.exe
| +--conf -- configuration for Apache
| |
| |-httpd.conf
| |-workers.properties
| +--extra
| |-mod_jk.conf
| |-..
| +--logs
| |
| |-access.log -- Access log
| |-error.log -- Error log
| |-mod_jk.log -- mmod_jk log
| |
| +--…
2.1
在
C:\Apache2.2\conf\extra
新建文件
mod_jk.conf
檔內容:
#載入mod_jk Module
LoadModule jk_module modules/mod_jk.so
#指定 workers.properties檔路徑
JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
#指定那些請求交給tomcat處理,"controller"為在workers.propertise裏指定的負載分配控制器
JkMount /*.jsp controller
JKMount /servlet/* controller
JKMount /*.do controller
從上面的檔內容可以看到
(1).
需要載入模組
mod_jk.so
,
(2).
需要在
apache
的配置檔所在的同一個目錄下麵新建檔
workers.properties
,
(3).
設置
mod_jk
的日誌檔的存放位置
(4).
遇到
.jsp
或者是
servlet
或者是
.do
的請求,就把
request
交給
tomcat
,而
controller
會在
workers.properties
文件中說明
.
Ok!
開始從上面的要求做起:
2.1.1
載入
mod_jk
模組
,把下載下來的
mod_jk.so
文件放在
C:\Apache2.2\modules
目錄下麵
2.1.2
新建屬性檔
workers.properties
,內容如下:
worker.list = controller,tomcat1,tomcat2 #server 列表
#========tomcat1========
worker.tomcat1.port=8009 #ajp13 埠號,在 tomcat 下 server.xml 配置 , 默認 8009
worker.tomcat1.host=localhost #tomcat 的主機位址,如不為本機,請填寫 ip 地址
worker.tomcat1.type=ajp13
worker.tomcat1.lbfactor = 1 #server 的加權比重,值越高,分得的請求越多
#========tomcat2========
worker.tomcat2.port=9009 #ajp13 埠號,在 tomcat 下 server.xml 配置 , 默認 8009
worker.tomcat2.host=localhost #tomcat 的主機位址,如不為本機,請填寫 ip 地址
worker.tomcat2.type=ajp13
worker.tomcat2.lbfactor = 1 #server 的加權比重,值越高,分得的請求越多
#========controller, 負載均衡控制器 ========
worker.controller.type=lb
worker.controller.balanced_workers=tomcat1,tomcat2 # 指定分擔請求的 tomcat
worker.controller.sticky_session=1
從內容看出由
controller
負責轉發
request
,負載均衡可以採用多種方法,這裏把權值設置成一樣的,讓控制器
controller
對其進行輪詢分佈
request
,如果是多台伺服器份做負載均衡,就可以再加上,就
OK
了!
2.1.3
這一步不用做,伺服器會自動的產生日誌到指定的目錄!~
2.1.4
這
3
行是為了告知
apache
那些
request
交給
tomcat
去處理,規則還可以自行加入!~
2.2
上面的步驟說明配置檔已經寫好,現在要讓
apache
知道這個配置檔所在的位置,因為
apache
只會自動的去讀取
httpd.conf
文件,
so
打開
C:\Apache2.2\conf\httpd.conf
檔,在最後添加一句:
Include conf/extra/mod_jk.conf
2.3
至此
apache
配置完成!
3.
配置
tomcat
伺服器:
(
說明:
如果你在不同電腦上安裝
tomcat,tomcat
的安裝數量為一個,可以不必修改
tomcat
配置檔
)
把下載的壓縮包解壓成
tomcat6_1,tomcat6_2
,這裏只是個檔案名,用於自己區分,沒有其他意義
,
上面
workers.properties
檔中的
tomcat1,tomcat2
跟這
2
個檔夾的名稱沒有關係。解壓後目錄位置是:
c:\
+--tomcat6_1
| |
| +--bin
| +--conf
| +--lib
| +--logs
| +--…
+--tomcat6_2
| +--bin
| +--conf
| +--lib
| +--logs
| +--…
3.1
配置
tomcat
伺服器
(
tomcat6_1
伺服器不需配置
,tomcat6_2
需要配置)
配置檔
server.xml
所在目錄為:
C:\tomcat6_2\conf\server.xml
在這一行的下面再加入一行,內容為:
< Connector port="9082"
maxThreads="150" minSpareThreads="25"
maxSpareThreads="25" enableLookups="false" acceptCount="100"
connectionTimeout="20000" proxyPort="80" disableUploadTimeout="true"
/>
3.2
建立測試文件
。在
C:\tomcat6_1\webapps
下新建目錄
chen
,建立測試檔
chen.jsp
,
內容為:
<%
System.out.println("=================Test Load Balance=================");
%>
然後把
chen
的目錄複製到
C:\tomcat6_2\webapps
的目錄下,
3.3
測試
,
3.3.1
運行
tomcat6_1
伺服器,在目錄
C:\tomcat6_1\bin
下的
startup.bat
,開啟正常,注意不要關閉
3.3.2
運行
tomcat6_2
伺服器,在目錄
C:\tomcat6_2\bin
下的
startup.bat
,開啟正常,注意不要關閉
3.3.3
運行
apache
伺服器,開始
—-
程式
-- Apache HTTP
Server 2.2 -- Control Apache Server
- — -Start web
伺服器開啟正常!
3.3.4
打開浏览器
输入
http://localhost/chen/chen.jsp
頁面不會做任何顯示,因為代碼的作用是在控制臺顯示,不是在頁面顯示
,
查看控制臺,有一個
tomcat
控制臺顯示出來,然後刷新以後,另外一個
tomcat
控制臺也顯示出來。
如圖所示:
- 大小: 7.3 KB
- 大小: 6.7 KB
- 大小: 7.1 KB
- 大小: 71.3 KB
- 大小: 11.1 KB
- 大小: 7 KB
- 大小: 5.2 KB
分享到:
相关推荐
Apache Tomcat集群和负载均衡是提高Web应用程序性能和可用性的关键策略。通过在Windows平台上配置Apache HTTP Server与多个Tomcat实例协同工作,可以有效地分散用户请求,避免单一服务器过载,确保服务的连续性和...
Apache Tomcat 集群负载均衡 ##### 1.13 Tomcat 端口配置 为了实现集群中的负载均衡,需要对 Tomcat 实例上的端口进行配置。这通常涉及到以下端口: - **HTTP 端口**:用于接收客户端的 HTTP 请求。 - **AJP 端口*...
在构建高性能、高可用性的Web应用系统中,Apache和Tomcat的集群以及负载均衡是非常关键的技术环节。这里我们将深入探讨这些知识点。 首先,Apache HTTP Server(简称Apache)是世界上最广泛使用的Web服务器,它提供...
Apache与Tomcat集群和负载均衡
在Apache Tomcat集群中,多台Tomcat服务器共享相同的应用程序和会话状态,这样即使单个服务器出现故障,其他服务器也能接管服务,确保服务不间断。集群的主要目的是提高系统的容错能力和处理能力。 要设置Apache ...
### Apache+Tomcat集群与负载均衡配置详解 #### 一、环境说明 为了实现Apache与Tomcat集群的负载均衡,我们需要准备以下环境: 1. **服务器配置**:四台服务器,其中一台安装Apache,三台安装Tomcat。 - Apache...
【Apache+Tomcat 集群与负载均衡及Session...通过以上配置,Apache+Tomcat集群可以实现高效的负载均衡和高可用性,同时通过Session绑定确保用户会话的连续性。注意定期监控和优化集群性能,以应对不断变化的业务需求。