`

Apache,Tomcat集群和负载均衡

阅读更多

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

Tomcathttp://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
分享到:
评论

相关推荐

    轻松实现windows平台Apache_Tomcat集群和负载均衡.doc

    Apache Tomcat集群和负载均衡是提高Web应用程序性能和可用性的关键策略。通过在Windows平台上配置Apache HTTP Server与多个Tomcat实例协同工作,可以有效地分散用户请求,避免单一服务器过载,确保服务的连续性和...

    Tomcat集群与负载均衡

    Apache Tomcat 集群负载均衡 ##### 1.13 Tomcat 端口配置 为了实现集群中的负载均衡,需要对 Tomcat 实例上的端口进行配置。这通常涉及到以下端口: - **HTTP 端口**:用于接收客户端的 HTTP 请求。 - **AJP 端口*...

    Apache,Tomcat集群和负载均衡所需软件下载

    在构建高性能、高可用性的Web应用系统中,Apache和Tomcat的集群以及负载均衡是非常关键的技术环节。这里我们将深入探讨这些知识点。 首先,Apache HTTP Server(简称Apache)是世界上最广泛使用的Web服务器,它提供...

    Apache与Tomcat集群和负载均衡

    Apache与Tomcat集群和负载均衡

    轻松实现Apache_Tomcat集群和负载均衡

    在Apache Tomcat集群中,多台Tomcat服务器共享相同的应用程序和会话状态,这样即使单个服务器出现故障,其他服务器也能接管服务,确保服务不间断。集群的主要目的是提高系统的容错能力和处理能力。 要设置Apache ...

    Apache+Tomcat集群和负载均衡的资料

    ### Apache+Tomcat集群与负载均衡配置详解 #### 一、环境说明 为了实现Apache与Tomcat集群的负载均衡,我们需要准备以下环境: 1. **服务器配置**:四台服务器,其中一台安装Apache,三台安装Tomcat。 - Apache...

    Apache+Tomcat集群和负载均衡及Session绑定

    【Apache+Tomcat 集群与负载均衡及Session...通过以上配置,Apache+Tomcat集群可以实现高效的负载均衡和高可用性,同时通过Session绑定确保用户会话的连续性。注意定期监控和优化集群性能,以应对不断变化的业务需求。

Global site tag (gtag.js) - Google Analytics