1. 程式人生 > >總結apache2.2和2.4和tomcat負載均衡配置和總結。

總結apache2.2和2.4和tomcat負載均衡配置和總結。

apache負載均衡有3種方式,本人只搭配了兩種方式

一.mok_jk方式(目前這個方式只配置成功2.2版本,2.4未配置。)

1.apache2.2配置準備工作

1.1下載安裝包httpd-2.2.22-win32-x86-no_ssl.msi

1.11下載後安裝到指定資料夾。如:F:\apache22

1.2下載mod_jk-1.2.31-httpd-2.2.3.so

1.21把該檔案放置到F:\apache22\modules資料夾下

1.3下載tomcat7.0或以上版本

1.31解壓後複製另一個,改名為tomcat1,tomcat2,改埠號

2.開始配置第一步。修改配置檔案

F:\apache22\conf下的httpd.conf

然後對http.conf(f:\Apache2f\conf\http.conf)配置檔案進行修改-使用記事本開啟就行

    (1)修改ServerRoot Apache的根路徑:

        (37行)ServerRoot"c:/Apache22"改成=>ServerRoot "f:/Apache22"

    (2)修改ServerName你的主機名稱:

        (217行)ServerNamewww.example.com:80將前面的#去掉,該屬性在從命令列啟動Apache時需要用到。

    (3)修改DocumentRoot Apache訪問的主資料夾目錄,就是php、html程式碼檔案的位置。Apache預設的路徑是在htdocs(f:\Apache22\htdocs)下面,裡面會有個簡單的入口檔案index.html。這個路徑可以自己進行修改,我這裡將其配置在我自己新建的資料夾www(D:\phpEnv\www)下。

(247行) DocumentRoot "c:/Apache22/htdocs"

        <Directory"c:/Apache22/htdocs">

改為=>

DocumentRoot "f:/Apache22/htdocs"

        <Directory"f:/Apache22/htdocs">

    (4)修改入口檔案配置:DirectoryIndex一般情況下我們都是以index.php、index.html、index.htm作為web專案的入口。Apache預設的入口只有index.html需要新增其他兩個的支援,當然這個入口檔案的設定可以根據自己的需要增減,如果要求比較嚴格的話可以只寫一個index.php,這樣在專案裡面的入口就只能是index.php

(274行)<IfModuledir_module>

        DirectoryIndexindex.html

       </IfModule>

改為=>

       <IfModuledir_module>

        DirectoryIndex  index.jsp index.htm index.html

        </IfModule>

   (5)設定serverscript的目錄:

        (358行)ScriptAlias/cgi-bin/ "c:/Apache22/cgi-bin/"改為=> ScriptAlias/cgi-bin/ "f:/Apache22/cgi-bin"

  (6)(380行)

        <Directory"c:/Apache22/cgi-bin">

          AllowOverride None

          Options None

          Require all granted

        </Directory>

改為=>

        <Directory"f:/Apache22/cgi-bin">

          AllowOverride None

          Options None

          Require all granted

        </Directory>


3.修改httpd.conf檔案內容

開啟httpd.conf檔案,最後一行加上:Include conf/mod_jk.conf


4在conf資料夾下建立檔案mod_jk.conf,workers.properties。
mod_jk.conf輸入
LoadModule jk_module modules/mod_jk-1.2.31-httpd-2.2.3.so
JkWorkersFile conf/workers.properties
#指定那些請求交給tomcat處理,"controller"為在workers.propertise裡指定的負載分配控制器名
JkMount /*.jsp controller
workers.properties輸入
#server
worker.list = controller
#========tomcat1========
worker.tomcat1.port=8121
worker.tomcat1.host=localhost
worker.tomcat1.type=ajp13
worker.tomcat1.lbfactor = 1
#========tomcat2========
worker.tomcat2.port=8122
worker.tomcat2.host=localhost
worker.tomcat2.type=ajp13
worker.tomcat2.lbfactor = 1

#========controller,負載均衡控制器========
worker.controller.type=lb
worker.controller.balanced_workers=tomcat1,tomcat2
worker.controller.sticky_session=false
worker.controller.sticky_session_force=1
#worker.controller.sticky_session=1

5,把測試資料放到webapps下啟動tomcar1,tomcat2,
6
、接下來就可以啟動Apache了

開始---執行,輸入cmd,開啟命令提示符。接著進入f:\Apache22\bin目錄下回車httpd回車,如圖所示.

沒有報錯的話就可以測試了(保持該命令視窗為開啟的狀態)。

    用瀏覽器訪問會出現“It works”那麼就說明apache已經正確安裝並啟動了。也可以自己寫一個簡單的index.html檔案也可以開啟。


二.mod_proxy代理方式

apache2.2

<p><strong><span style="font-size:24px;">1. 準備工作</span></strong></p><p>首先下載Tomcat8 和Apache2.2</p><p>然後安裝Apache,安裝完成後在IE中輸入localhost訪問,如果出現It Works則表示Apache安裝好了,然後解壓縮到Tomcat1和Tomcat2兩個目錄中。</p><p>分別啟動Tomcat1和Tomcat2看是否可以正常啟動。</p>
1直接加到F:\apache22\conf\httpd.conf檔案最下面

ProxyPass / balancer://proxy/
<Proxy balancer://proxy>   
 BalancerMember http://127.0.0.1:8080/
 BalancerMember http://127.0.0.1:8081/
</Proxy>
2注意埠要和tomcat2對應如下tomcat2

…………
<Server port="9005" shutdown="SHUTDOWN"> #此處修改為9005,避免與tomcat1的8005衝突
…………
…………
    <Connector port="8081" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443"/> #此處修改為8081,避免與tomcat1的8080衝突
…………
    <!-- Define an AJP 1.3 Connector on port 8009 --><Connector port="9009" protocol="AJP/1.3" redirectPort="8443"/> #此處修改為9009,避免與tomcat1的8009衝突。如果使用的是mod_proxy_blancer方式此處可以註釋掉,如果使用的是mod_jk方式則此處必須存在
…………
      

3開啟httpd.conf檔案,取消下面四行的註釋,用以開啟代理所需的.so支援模組。或直接新增

View Code
1 #LoadModule proxy_http_module modules/mod_proxy_http.so
2 #LoadModule proxy_connect_module modules/mod_proxy_connect.so
3 #LoadModule proxy_module modules/mod_proxy.so
4 #LoadModule proxy_module modules/mod_proxy_blancer.so
4。
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/> #去掉該行註釋即可實現session複製功能
…………

apache2.4

<p><strong><span style="font-size:24px;">1. 準備工作</span></strong></p><p>首先下載Tomcat7 和Apache2.4</p><p>然後安裝Apache,安裝完成後在IE中輸入localhost訪問,如果出現It Works則表示Apache安裝好了,然後解壓縮到Tomcat1和Tomcat2兩個目錄中。</p><p>分別啟動Tomcat1和Tomcat2看是否可以正常啟動。</p><p>
</p><p><strong><span style="font-size:24px;">2. 配置Apache2.4</span></strong>
</p><p>   ①開啟conf/httpd.conf檔案,載入以下模組。</p><p>#---------------------start------------------------
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.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 slotmem_shm_module modules/mod_slotmem_shm.so</p><p>LoadModule speling_module modules/mod_speling.so
LoadModule ssl_module modules/mod_ssl.so</p><p><pre name="code">LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so
#----------------------end---------------------

 ② 如果你想看到小貓頁面,

<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>

在上面的index.html下面新增index.jsp就可以了

③去掉Include conf/extra/httpd-vhosts.conf的註釋標記#。

④在檔案末尾加反向代理

ProxyRequests Off
<proxy balancer://cluster>
     BalancerMember ajp://127.0.0.1:8009 loadfactor=1 route=jvm1
     BalancerMember ajp://127.0.0.1:9009 loadfactor=1 route=jvm2
</proxy>

⑤修改conf/extra/httpd-vhosts.conf檔案。

註釋掉所有的dummy-host,新增以下內容

<VirtualHost *:80>
         ServerAdmin [email protected]
         ServerName localhost
         ServerAlias localhost
         ProxyPass / balancer://cluster/ stickysession=jsessionid nofailover=On
         ProxyPassReverse / balancer://cluster/
         ErrorLog "logs/lbtest-error.log"
         CustomLog "logs/lbtest-access.log" common
</VirtualHost>

2.配置Tomcat

Tomcat2 的修改conf/server.xml

① <Server port="8005" shutdown="SHUTDOWN">修改為9005

②修改<Service name="Catalina">下的

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />中的8080為9080

③<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />修改為9009

④ <Engine name="Catalina" defaultHost="localhost">在末尾加 jvmRoute="jvm2"

同時修改Tomcat1的這個標籤為jvmRoute="jvm1"

⑤<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>改為

<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster">

        <Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/>

</Cluster>

配置完成之後,啟動兩個Tomcat測試一下Tomcat是否可以正常啟動

如果可以正常啟動,則進行下面步驟

在webApps下面新增Test目錄,新增Test.jsp

<%@ page contentType="text/html; charset=GBK" %>
<%@ page import="Java.util.*" %>
<html><head><title>Cluster App Test</title></head>
<body>
Server Info:
<%
out.println(request.getLocalAddr() + " : " + request.getLocalPort()+"<br>");%>
<%
  out.println("<br> ID " + session.getId()+"<br>");
  String dataName = request.getParameter("dataName");
 
  if (dataName != null && dataName.length() > 0) {
     String dataValue = request.getParameter("dataValue");
     session.setAttribute(dataName, dataValue);
  }  
 
  out.print("<b>Session 列表</b>");  
 
  Enumeration e = session.getAttributeNames();
 
  while (e.hasMoreElements()) {
     String name = (String)e.nextElement();
     String value = session.getAttribute(name).toString();
     out.println( name + " = " + value+"<br>");
         System.out.println( name + " = " + value);
   }
%>
  <form action="test.jsp" method="POST">
    名稱:<input type=text size=20 name="dataName">
     <br>
    值:<input type=text size=20 name="dataValue">
     <br>
    <input type=submit>
   </form>
</body>
</html>

建立WEB-INF目錄,建立web.xml

?xml version="1.0" encoding="utf-8"?>

<web-app xmlns="http://java.sun.com/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
                      http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
  version="3.0"
  metadata-complete="true">
    <distributable />
  </web-app>

最後啟動Apache2.4,在頁面中輸入localhost\test\test.jsp進行測試。

注意:Apache有可能啟動不起來,那麼解決方式是檢視Apache安裝目錄下的logs目錄下的error.log檔案,

根據log檔案解決可能存在的問題。直到Apache可以正常啟動,至此Apache就可以正常啟動了。



相關推薦

總結apache2.22.4tomcat負載均衡配置總結

apache負載均衡有3種方式,本人只搭配了兩種方式 一.mok_jk方式(目前這個方式只配置成功2.2版本,2.4未配置。) 1.apache2.2配置準備工作 1.1下載安裝包httpd-2.2.22-win32-x86-no_ssl.msi 1.11下載後安裝到指定資

使用apachenginx代理實現tomcat負載均衡及叢集配置詳解

實驗環境: 1、nginx的代理功能 nginx proxy: eth0: 192.168.8.48 vmnet2 eth1: 192.168.10.10 tomcat server1: vmnet2 eth0: 192.168.10.20 tomcat server

3-4-基於LVS實現4負載均衡配置nat模型實戰

eight 有效 cookie yum nfs 數據同步 管理 調度 重啟網絡服務 centos內核支持ipvs,只需在用戶空間安裝ipvsadm即可,首先應該準備好拓撲環境,了解編寫規則的工具用法 yum install -y ipvsadmrpm -ql ipvsadm

3-5-基於LVS實現4負載均衡配置DR模型實戰

ast 冗余 .html linux 詳細 橋接 綁定 info 環回接口 DR類型directer只響應請求報文,然後調度某一個RS,而響應報文由RS直接返回給請求者RS和directer都需要配置VIP,(在同一網絡中有可能沖突)本地局域網通告(通告自己的IP),ARP

Apache2.4+Tomcat7的負載均衡配置

第一部分——下載1.1: 百度搜索apache httpd關鍵字,第一個連結既是官方下載地址。如果這一步不會,此篇文章不適合你閱讀,請自行停止。1.2:進入官網http://httpd.apache.org/,點選左邊選單download連結進入下載頁,選擇穩定版最新版httpd2.4.26  1.3 點選w

nginx+tomcat負載均衡配置+python自動化部署指令碼

nginx+tomcat負載均衡配置 1、網路拓撲      2、nginx安裝配置 1.安裝nginx伺服器,實現OSI網路模型第七層(應用層)負載均衡及反向代理:       安裝nginx 1.6.1 stable version,  stable version版

web叢集之一 linux下apache+tomcat負載均衡配置-筆記

負載均衡叢集配置(7):Apache配置——建立workers.properties    httpd.conf的最後新增的配置中workers.properties檔案是不存在的,需要我們自己在apache/conf路徑下建立。workers.properties檔案用於對負載均衡的負載器worker (

2)微服務 Micro-Service ---- .NetCore啟動配置 .NetCoreWebApi

調用 工具 沒有 str 平臺 修改端口 OS TE 發的 什麽是.Net Core?.Net Core是微軟開發的另外一個可以跨Linux、Windows、mac等平臺的.Net.Net Core相關知識看文章地步dotnet dllname.dll 運行PostMan

spring cloud 學習(2)核心: Eureka: 提供服務註冊發現 註冊中心,負載均衡,故障轉移

官方描述:雲端服務發現,一個基於 REST 的服務,用於定位服務,以實現雲端中間層服務發現和故障轉移 Eureka 一個服務中心,一個註冊中心,將可以提供的服務都註冊到這個元件中, ,其他呼叫者需要的時候去註冊中心去獲取,然後再呼叫,避免了服務間的直接呼叫,實現了服務間的解耦

1.tomcat 在linux 配置啟動

1.環境變數配置 export JAVA_HOME=/home/jdk1.8.0_171 export CATALINA_HOME=/home/tomcat export CATALINA_BASE=/home/tomcat export CLASSPATH=.:$JAVA_HOME/jre/l

tomcat服務nginx負載均衡配置 linux 配置多個tomcat

1、nginx服務安裝及配置,詳見:linux 配置之安裝nginx 2、多個tomcat服務安裝及配置,詳見:linux 配置多個tomcat 3、關鍵配置nginx.conf檔案 http { include /etc/nginx/mime.types;

教程篇(5.4) 04. FortiManager 裝置的配置安裝 ❀ Fortinet 網路安全專家 NSE5

 在本課中,我們將展示如何配置裝置級別更改,瞭解FortiManager上受管FortiGate的狀態,以及如何將更改安裝到受管FortiGate上。我們還將瞭解如何使用修訂歷史記錄進行故障排除,以及指令碼和裝置組的功能。  在本課中,我們將探討以下主題: 配置裝

Linux下Nginx+Tomcat負載均衡動靜分離配置要點

cep 修改 div -c user setsebool index.php sebool bool 本文使用的Linux發行版:CentOS6.7 下載地址:https://wiki.centos.org/Download 一、

Apache Tomcat伺服器安裝配置部署執行

Apache Tomcat伺服器安裝配置和部署執行 在Windows 64位系統上安裝配置和部署執行Apache Tomcat伺服器。 1,先下載適應於64為Windows作業系統的Tomcat伺服器。 連線:http://tomcat.apache.org/ 我下載的是: 2,

Tomcat作為伺服器配置說明

 Tomcat作為伺服器            企業級中使用最平凡的伺服器軟體            也有一些其他的伺服器軟體 :jboss 、 WebSphere、weblogic 、 jetty .

配置apachenginx的tomcat負載均衡

概述   本篇文章主要介紹apache和nginx的相關配置,tomcat的相關安裝配置我在前面有寫過一篇,詳細介紹通過兩種配置方法配置nginx。 tomcat配置參考:http://www.cnblogs.com/chenmh/p/5048893.html apache配置  原始碼安裝

centos下tomcat+mysql的配置專案部署

TOMCAT伺服器的配置  1. jre的安裝 1.1 檢視centos中原來自帶的JDK並解除安裝 1 [[email protected] home]# java -version|grep gcj  2 [[email protected

Tomcat安裝、配置部署筆記

首先從Apache的官方網站(http://tomcat.apache.org/)下載Tomcat。有安裝版和解壓版兩種,我個人喜歡用解壓版。 Tomcat安裝(綠色版安裝)   1、將下載的Tomcat解壓到指定目錄,如:D:\WorkSpaceByJava\

tomcat資料來源的配置使用

在Java語言中,DataSource物件就是一個代表資料來源實體的物件。一個數據源就是一個用來儲存資料的工具,它可以是複雜的大型企業級資料庫,也可以是簡單得只有行和列的檔案。資料來源可以位於在伺服器端,也可以位於客服端。應用程式通過一個連線來訪問資料來源,那麼一個DataSource物件就是用於提供連線資料

NginxTomcat負載均衡實現session共享

    以前的專案使用Nginx作為反向代理實現了多個Tomcat的負載均衡,為了實現多個Tomcat之間的session共享,使用了開源的Memcached-Session-Manager框架。     此框架的優勢:          1、支援Tomcat6和Tomca