1. 程式人生 > >Apache負載均衡配置(反向代理模式)

Apache負載均衡配置(反向代理模式)

Apache負載均衡配置(反向代理模式)

本文只適合EKP產品,至於應用叢集是我們自己實現的功能,所以這裡的配置可能與其他產品的配置是不一致的。

目前我們使用apache 做為前端負載均衡的轉發器。考慮到jk 的不穩定性,我們建議使用代理模式協同工作。因此, 安裝的apache 需要有proxy_module,proxy_ftp_module,proxy_http_module, rewrite_module,proxy_connect_module、proxy_balancer_module和proxy_ajp_module模組。

下面以配置Apache與應用“ekp”整合為例,說明Apache如何與IP為“192.168.3.119

”和“192.168.3.116”兩臺機器上的app應用是如何協同的。

開啟Apache安裝目錄/conf/httpd.conf檔案,開啟下圖中紅色框內的模組,如果行是以“#”號開頭,則去掉“#”號(“#”號開頭的行為註釋行),如下圖:

在httpd.conf檔案接近末尾的位置,增加引用ekp配置檔案的配置,程式碼如下:

# Virtual ekp host for balacing

Include conf/httpd-ekp-balance.conf

新增配置在配置檔案中的位置如下圖:

1.3  EKP負載均衡配置檔案設定

在Apache安裝目錄/conf目錄下新建一個名為“httpd-ekp-balance.conf”的檔案,在該檔案中新增下面的內容。下面的內容是一個完整的兩個EKP節點的叢集示例設定,一般來說,只要替換其中的具體IP 及相關目錄的路徑即可完成配置。如果多於兩個節點,則是在proxy 節處加入BalancerMember 並在後面的ProxyPassReverse 節加入新的節點即可。下表中的紅色部分“m69

”和“m115”需要與每個應用ekp\WEB-INF\classes\trswcmcluster.properties檔案中的引數“cluster.session.balancerRoute”保持一致。

<VirtualHost *:80>

    AddType text/javascript .js

    AddType text/css; .css

    AddType text/html;charset=UTF-8  .html

    ServerName my.ekp.com

    ServerAdmin [email protected]

    <Proxy  balancer://ekpcluster>

        BalancerMember http://192.9.200.69:8065 route=m69

        BalancerMember http://192.9.200.115:8060 route=m115

        ProxySet stickysession=CSID

    </Proxy>

    RewriteEngine on

    RewriteRule  ^/ekp/(.*\.(jsp|do|jws|appletdo))$ balancer://ekpcluster/ekp/$1 [P,L]

    RewriteRule  ^/ekp/(.*;jsessionid.*)$ balancer://ekpcluster/ekp/$1 [P,L]

    RewriteRule ^/ekp/(sd)$  balancer://ekpcluster/ekp/$1 [P,L]

RewriteRule ^/ekp/(TRSIdSSSOProxyServlet)$  balancer://ekpcluster/ekp/$1 [P,L]

    #SoapService rule

    RewriteRule ^/ekp/services/(.*) http://192.9.200.69:8065/ekp/services/$1 [P,L]

    ProxyPassReverse / http://192.9.200.69:8065/

    ProxyPassReverse /http://192.9.200.115:8060/

#webpic

    Alias /webpic "Z:/WCMData/webpic"

    <Directory "Z:/WCMData/webpic">

        Options -Indexes MultiViews  FollowSymLinks Includes

        AllowOverride None

        Order allow,deny

        Allow from all

    </Directory>

    <Directory  "D:/TRS/TRSEKPV65_Cluster_B1111/WCMData/webpic/WEB-INF">

        Deny from all

    </Directory>

#ekp

    Alias /ekp "D:/TRS/TRSEKPV65_Cluster_B1111/Tomcat/webapps/ekp"

    <Directory "D:/TRS/TRSEKPV65_Cluster_B1111/Tomcat/webapps/ekp">

        Options -Indexes MultiViews  FollowSymLinks Includes

        DirectoryIndex index.html

        AllowOverride None

        Order allow,deny

        Allow from all

    </Directory>

    <Directory "D:/TRS/TRSEKPV65_Cluster_B1111/Tomcat/webapps/ekp/WEB-INF">

        Deny from all

    </Directory>

    <Location  /ekpcluster-manager>

        SetHandler balancer-manager

        #Deny from all

        #設定可以訪問管理器的主機

        Allow from all

    </Location>

</VirtualHost>

注意事項

l  route與stickysession

會話固定是負載均衡器的一個重要功能,其作用是把使用者會話固定在一個服務節點上,當且僅當該節點失效時才會將會話轉發到其它節點處理。這兩項的設定與EKP的設定也有關係,下面會再說到。

l  配置檔案中的RewriteRule都要在一行

示例中的一些換行可能是文件排版需要,在實際設定時要注意每一條RewriteRule都是一行。

l  共享目錄地址

如果主節點和Apache配置在同一臺機器上,則共享目錄地址建議直接使用安裝的WCMData地址。

1.4  EKP負載均衡配置主要配置說明

httpd-ekp-balance.conf主要配置說明如下:

#section 1 設定負載均衡的成員

<Proxy  balancer://ekpcluster>

        BalancerMember http://192.9.200.69:8065 route=m69

        BalancerMember http://192.9.200.115:8060 route=m115

        ProxySet stickysession=CSID

</Proxy>

#section 2 設定轉發規則,只有動態請求才轉發到應用伺服器

RewriteEngine  on

    RewriteRule  ^/ekp/(.*\.(jsp|do|jws|appletdo))$ balancer://ekpcluster/ekp/$1 [P,L]

    RewriteRule ^/ekp/(.*;jsessionid.*)$  balancer://ekpcluster/ekp/$1 [P,L]

RewriteRule ^/ekp/(sd)$ balancer://ekpcluster/ekp/$1 [P,L]

RewriteRule ^/ekp/(TRSIdSSSOProxyServlet)$ balancer://ekpcluster/ekp/$1  [P,L]

#之下ip可指向叢集中任意的EKP伺服器地址和對應應用埠

    RewriteRule ^/ekp/services/(.*) http://192.9.200.103:18080/ekp/services/$1 [P,L]

#section 3 轉發規則,反向代理模式轉發到應用伺服器

#ProxyPassReverse  / balancer://ekpcluster

ProxyPassReverse  / http://192.9.200.69:8065/

ProxyPassReverse  / http://192.9.200.115:8060/

#section 4  apache 均衡管理器

<Location /ekpcluster-manager>

                   SetHandler  balancer-manager

                   #Deny  from all

                   #設定可以訪問管理器的主機

                   Allow  from 192.9.200.69

</Location>

相關推薦

Apache負載均衡配置(反向代理模式)

Apache負載均衡配置(反向代理模式) 本文只適合EKP產品,至於應用叢集是我們自己實現的功能,所以這裡的配置可能與其他產品的配置是不一致的。 目前我們使用apache 做為前端負載均衡的轉發器。考

Windows 通過Nginx實現負載均衡反向代理配置

Nginx版本安裝地址 http://nginx.org/en/download.html 找到nginx.conf檔案,修改兩個地方(在安裝檔案conf資料夾中) 新增伺服器池,設定2臺伺服器,權重級別都設定2 #設定負載均衡的伺服器列表 #upstream表示負載伺服器

nginx負載均衡反向代理配置

upstream 193.168.81.128{     server localhost:8080 weight=1 max_fails=2 fail_timeout=30s;     server localhost:8081 weight=1 max

Nginx HTTP負載均衡反向代理配置

當前大併發的網站基本都採用了Nginx來做代理伺服器,並且做快取,來扛住大併發。先前也用nginx配置過簡單的代理,今天有時間把整合過程拿出來和大家分享,不過其中大部分也是網上找來的資源。 nginx完整的反向代理程式碼如下所示  : [[email protected] conf]# vi

Nginx安裝及配置負載均衡反向代理、虛擬主機

Nginx安裝1. 生產環境是lInux,windows版也有,它是c語言開發2. Windows下安裝 直接解壓縮xx.zip格式的即可,點選xx.exe啟動3. Linux下安裝1)xx.tar.g

nginx的配置、虛擬主機、負載均衡反向代理--03

第3篇主要講 URL路由重寫 和 讀寫分離 nginx中的 location 正則模組 nginx中的URL重寫怎麼做。url重寫模組,主要是在location模組面來實現,我們一點一點的看。 首先看下location 正則匹配的使用。 還記得之前是

nginx的配置、虛擬主機、負載均衡反向代理--02

基於域名的虛擬主機 假設我們在本地開發有3個專案,分別在hosts裡對映到本地的127.0.0.1上: 127.0.0.1 www.iyangyi.com iyangyi.com 127.0.0.1 api.iyangyi.com 127.0.0.1 a

負載均衡反向代理

proxy 反向代理服務 方式 地址 watermark 響應 pro 雙網卡 width 文章出自:http://blog.csdn.net/cywosp/article/details/38026809 反向代理(Reverse Proxy)方式是指以代

Nginx負載均衡反向代理—《億級流量網站架構核心技術》

小時 維護 額外 nat gzip 網站架構 weight 2.7 熱點 當我們的應用單實例不能支撐用戶請求時,此時就需要擴容,從一臺服務器擴容到兩臺、幾十臺、幾百臺。然而,用戶訪問時是通過如http://www.XX.com的方式訪問,在請求時,瀏覽器首先會查詢DNS服務

Nginx負載均衡反向代理

技術 建立 方法名 什麽 serve 參數 不知道 出現 off 1:反向代理 代理就是中介,那有反向代理就有正向代理,兩者的區別是什麽嘞? 正向代理隱藏真實客戶端,服務端不知道實際發起請求的客戶端.,proxy和client同屬一

lnmt實現負載均衡反向代理

需求說明 搭建lnmt環境,實現反向代理和負載均衡 環境說明 ip 伺服器型別 172.16.11.18 tomcat 172.16.11.

正向代理負載均衡反向代理

讓我 bubuko com gin 必須 代理技術 轉發 請求轉發 特點 1、正向代理 假設我們需要使用自己的筆記本(A)訪問國外的站點(B),由於網絡限制,我們無法訪問國外的站點.但是此時我們有一臺服務器(C)跳出了網絡限制可以訪問國外站點,那麽我們可以通過正向代理技術,

Nginx服務搭建負載均衡反向代理,快取加速,訪問分散式檔案系統高可用

主配置檔案如下:[[email protected]~]#vim /usr/local/nginx/conf/nginx.conf server{ listen 8099               //埠號 location / {      autoindex on;      autoinde

每天進步一點點——負載均衡反向代理

    反向代理(Reverse Proxy)方式是指以代理伺服器來接受internet上的連線請求,然後將請求轉發給內部網路上的伺服器,並將從伺服器上得到的結果返回給internet上請求連線的客戶端,此時代理伺服器對外就表現為一個伺服器,該伺服器就可稱之為代理伺服器。由於代理伺服器處在最終處理請求訪問的

接入層負載均衡策略——“反向代理層”絕不能替代“DNS輪詢”!

目錄 1、原文以兩個問題引出話題 2、反向代理層的作用是什麼?架構實現時需要注意什麼問題? 3、反向代理還存在的問題 4、DNS輪詢如何解決反向代理層的擴充套件性問題? 4.1 、裸奔時代:單機架構  4.2、簡易擴容方案:DNS輪詢 4.3、簡易擴容方案:反向

nginx負載均衡反向代理跨域

  nginx是一個高效能的Http伺服器,有兩個預設的模組proxy_pass和upstream。proxy_pass可以很方便的進行反向代理,然後配合upstream可以很方便的實現負載均衡。    在nginx的根路徑下的conf資料夾下的nginx.conf就是我們

Nginx負載均衡反向代理——擴充套件功能(NGINX Plus)

本文主要是介紹了NGINX Plus的相關功能,橫跨了NGINX Plus R5/R6/R7/R9等各個不同版本的更新。涉及的是Nginx反向代理和負載均衡的更為高階的用法。主要包含:HTTP負載均衡,HTTP長連線,TCP和UDP的負載均衡,上游連線數限

秒懂負載均衡反向代理

前言 作為一名主要從事移動前端開發的碼農,對後端的技術也是比較感興趣。以前總是聽說負債均衡與反向代理,但是一直搞不清楚這兩個東西,就是感覺好厲害的樣子,調查一番後決定記錄如下,以便將來查閱。 概述 首先負載均衡與反向代理都是C/S 或者B/S系統後端架

Nginx反向代理以及負載均衡配置

ces 指定 cep msi 負載 禁止 大小 解決 nginx配置 項目地址:http://git.oschina.net/miki-long/nginx 前提:最近在研究nginx的用法,在windows上小試了一下,由於windows下不支持nginx緩存配置,所以本

Nginx 配置反向代理負載均衡

變量 ash web 出現 location 部分 順序 AR 有效 反向代理 客戶端 A 出於某種原因(如 GFW)無法訪問服務器 B,但它能訪問服務器 C,服務器 C 能訪問服務器 A,那麽客戶端 A 可通過服務器 C 來訪問服務器 B。此時服務器 C 就是一個代理服務