1. 程式人生 > >APACHE 2.2.15+TOMCAT6.0.26配置負載均衡

APACHE 2.2.15+TOMCAT6.0.26配置負載均衡

apache tomcat 集群管理

目標 :

使用 apache 和 tomcat 配置一個可以應用的 web 網站,要達到以下要求:

1、 Apache 做為 HttpServer ,後面連接多個 tomcat 應用實例,並進行負載均衡。

2、 為系統設定 Session 超時時間,包括 Apache 和 tomcat

3、 為系統屏蔽文件列表,包括 Apache 和 tomcat

註:本例程以一臺機器(操作系統 windows 2008)為例子,即同一臺機器上裝一個 apache 和 4個 Tomcat 。

一、下載軟件

httpd-2.2.15-win32-x86-no_ssl

jdk-6u18-windows-i586.exe

apache-tomcat-6.0.26-windows-x86.zip

二、安裝程序

1、 jdk 按默認安裝,在環境變量中設置 JA V A_HOME

(缺省的 JDK 目錄為 C:\Program Files\Java\jdk1.6.0_18)

A 、進入 windows 桌面,右鍵選擇 “ 我的電腦 ” -->“ 屬性 ”

B 、選擇 “ 高級 ” 頁簽,點開 “ 環境變量 ”

C 、在 “ 系統變量 ” 下點擊新建彈出 “ 新建系統變量 ” ,變量名輸入 “JA V A_HOME” ,變量值 輸入 “C:\Program Files\Java\jdk1.6.0_18” 後點擊確定。

2、 APAHCE 安裝目錄:D:\Apache。

3、四個 TOMCAT 目錄:自行解壓到 (D:\Tomcat集群服務器 )下。分別為 tomcat6.0, tomcat6.01, tomcat6.02, tomcat6.03

三、配置

1、 Apache 配置

1.1、 httpd.conf 配置

修改 APACHE 的配置文件 D:\Apache \conf\httpd.conf

將以下 Module 的註釋去掉,這裏並沒有使用 mod_jk.so進行 apache 和 tomcat 的鏈接,從 2.X 以後 apache 自身已集成了 mod_jk.so的功能。只需簡單的把下面幾行去掉註釋,就相當 於以前用 mod_jk.so比較繁瑣的配置了。這裏主要采用了代理的方法,就這麽簡單。 LoadModule proxy_module modules/mod_proxy.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

LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

LoadModule proxy_balancer_module modules/mod_proxy_balancer.so

再找到 加上 index.jsp 修改成

DirectoryIndex index.html index.jsp

1.1.1、 在最下面加入

ProxyRequests Off

BalancerMember ajp://127.0.0.1:8009 loadfactor=1 route=jvm1

BalancerMember ajp:// 127.0.0.1:9009 loadfactor=1 route=jvm2

BalancerMember ajp:// 127.0.0.1:9001 loadfactor=1 route=jvm3

BalancerMember ajp:// 127.0.0.1:9003 loadfactor=1 route=jvm4

上面的四個 BalancerMember 成員是我們配置的 tomcat 集群。後面會說明的。

1.2、 httpd-vhosts.conf 設置

接下來進行虛擬主機的設置。 APACHE 的虛擬主機設置如下:

首先要修改 conf/httpd.conf找到 (#Include conf/extra/httpd-vhosts.conf)

把註釋去掉。

Virtual hosts

Include conf/extra/httpd-vhosts.conf

在文件(extra/httpd-vhosts.conf)最下面加入

ServerAdmin

ServerName localhost

ServerAlias localhost

ProxyPass / balancer://cluster/ stickysession=jsessionid nofailover=On

ProxyPassReverse / balancer://cluster/

其中的域名和路徑根據你自己情況設置

然後再設置 TOMCAT 虛擬主機

2 配置 tomcat

2.1. 配置 server 的關閉

我們需要在一臺機器上跑 4 個不同的 tomcat ,需要修改不同的 tomcat 的關閉口,避免出 現端口被占用的情況。其中 tomcat6.0用默認值,不修改。其他三個修改。在

tomcat6.01\conf, tomcat6.02\conf下和 tomcat6.03\conf下的 server.xml 中找到 server, 將:

改為

XXXX 在這裏表示不同的端口:我的其它三個 tomcat 分別使用 9005, 8006 , 9007 2.2. 配置 Engine

把原來的配置註釋掉,把下面一句去掉註釋。並標明 jvmRoute="jvm2".

以下是原來的配置。

其他(tomcat6.02和 tomcat6.03)也要同樣 配置。註意:jvmRoute 配置不要一樣。

2.3. 配置 Connector

原來的默認配置。

這裏是 apache 和 tomcat 鏈接的關鍵,前臺 apache 就是通過 AJP 協議與 tomcat 進行通信的, 以完成負載均衡的作用。也可以用 HTTP 協議。大家註意它們是如何連接通信的,上面的紅 色部分就是連接的接口了。

把其他三個 tomcat 的 port分別改成與上面

#與 tomcat6.0對應, route 與 對應。

BalancerMember ajp://127.0.0.1:8009 loadfactor=1 route=jvm1

#與 tomcat6.01對應, route 與 對應。

BalancerMember ajp:// 127.0.0.1:9009 loadfactor=1 route=jvm2

APACHE 2.2.15+TOMCAT6.0.26配置負載均衡