haproxy 動靜分離負載均衡、?stats頁面實現?。

實驗環境:一臺主機提供haproxy、nfs、mariadb,后端2臺apache部署wordpress

實驗目的:haproxy使得動靜分離、以及開啟stats頁面。

haproxy簡單介紹

負載均衡的解決方案,支持4、7層,特點是單進程模型(可配置為多進程模型)單進程能支持非常大的并發鏈接數量(相比較其他軟件)。

到今天,馬哥課程中的負載均衡方案(lvs、nginx、proxy)已經講完了,就來簡單介紹下自己理解的區別吧,作為一個新手,說錯了不要打我啊haproxy 動靜分離負載均衡、?stats頁面實現?。(相信很多同學和我一樣也有這種糾結)

lvs如果在http反代的環境中由于本身工作在四層,無法再分配策略上進行詳細調整(最直觀的就是動靜分離),后端服務器的健康狀態檢測(雖然也可以利用ldirector和keepalived彌補,但自身缺陷),只能單存的把自定義的ip或端口,按照規則分發至后端主機,因此他可以實現所有應用的負載均衡。(haproxy和nginx1.10的版本已經穩定支持4層負載均衡,但因為本身工作在內核中,我們應該相信在較高并發下,lvs的能力依然比haproxy和nginx強大),另外對網絡環境的依賴較大。

haproxy和nginx兩樣及其相似,自己也曾在網上看了很多篇關于他們兩差別的,但有幾點也許是因為年代關系還是什么,指出一下錯誤:

1、haproxy彌補了session保持,nginx同樣也支持session保持。

2、haproxy支持四層反代,nginx同樣支持四層反代。

3、nginx不支持url做健康狀態檢測, 其實是支持。

4、haproxy不支持虛擬主機,沒搞懂網上指的一個負載均衡要虛擬主機拿來干嘛,我猜也許想用自身做sorryserver,通過errorfile是能做成sorryserver的。


自己認為他們的區別,nginx可以做靜態資源的緩存,而haproxy有一個狀態的查詢頁,可以直觀的看到后端服務器狀況。


說了那么多,還是來做今天的實驗吧,haproxy已經被收錄在了base源中,插入光盤自己yum安裝即可,安裝完后配置文件/etc/haproxy/haproxy.cfg

haproxy 動靜分離負載均衡、?stats頁面實現?。

haproxy 動靜分離負載均衡、?stats頁面實現?。

給我們的示例配置文件中,一共分為了4端,分別是全局配置段,和proxy配置段,在全局配置中主要定義的是日志、啟動haproxy的身份,啟動模式、最大并發鏈接…等等

在proxy配置段又分為了default、frontend、backend三段,在一些指令上如果后兩段沒有特殊定義就會繼承默認配置段,不是所有配置段都可以使用相同的指令,詳情查看官方文檔

http://cbonte.github.io/haproxy-dconv/1.6/configuration.html#4

haproxy 動靜分離負載均衡、?stats頁面實現?。

這里是我開啟的狀態頁分別是:

bind:可以理解為監聽的ip和端口

stats enable:開啟stats頁

stats uri:訪問stats的url

stats realm:需要認證時,認證框里面的提示信息

stats auth:認證的賬號和密碼 (賬號:密碼)

stats refresh:打開頁面后每秒刷新間隔

stats admin:是否開啟管理功能

haproxy 動靜分離負載均衡、?stats頁面實現?。

整體頁面就是這樣了~

接著我們就來配我們的動靜分離吧~

haproxy 動靜分離負載均衡、?stats頁面實現?。

剛剛經過測試,發現不管是discuz還是wordpress,都不能直接嘗試動靜分離,至少在基于nfs共享上,實現不了,以哪個IP去創建的數據庫,靜態的圖片就會在自動跳轉到創建的IP上去加載。。。我也是醉了就換個簡單的方法測試吧 以php結尾的發送給一個主機,其他未定義的發送給另一個主機。

然后在web的根目錄上分別創建了index.html 和105上創建了index.php 

haproxy 動靜分離負載均衡、?stats頁面實現?。

haproxy 動靜分離負載均衡、?stats頁面實現?。

105的主機上創建的index.html是111,106上創建的是222,接著我們就可以打開網頁測試了?。。。?/span>

haproxy 動靜分離負載均衡、?stats頁面實現?。haproxy 動靜分離負載均衡、?stats頁面實現?。

可以看到請求index.html確實是轉發到了106上,請求index.php被轉發到了105上!


原創文章,作者:N24_Ghost,如若轉載,請注明出處:http://www.www58058.com/69275

(0)
N24_GhostN24_Ghost
上一篇 2017-02-18
下一篇 2017-02-18

相關推薦

  • Centos 系列bind搭建DNS服務加固

        在centos系列版本上運用bind搭建dns服務教程已經有很多,先感謝前人做出的貢獻,引用兩篇博文,講解的非常詳細。 地址是: 主dns搭建:http://blog.csdn.net/reblue520/article/details/52537014 從dns搭建:http://blog.csdn.net/reblue520/…

    Linux干貨 2017-04-16
  • LNMP編譯安裝-week16

    1、源碼編譯安裝LNMP架構環境; 系統: CentOS 7.2IP: 172.16.0.11版本: nginx-1.10.3 php-5.6.30 mysql-5.6.30 一.安裝開發包組 ~]# yum -y groupinstall “Development Tools” “Server Platform Development” 二.編譯安裝ngi…

    2017-05-11
  • 磁盤管理(三)邏輯卷快照

      概述:邏輯卷管理(LVM)提供了為任何邏輯卷作一個快照的功能,目的是在一致的狀態下來得到一個文件系統的備份.因為在備份過程中,應用程序可能訪問一個分區的文件或者數據庫.一些文件可能在一個狀態被備份,而后面的文件可能在一個更新后被備份,導致備份的不完整 .傳統的解決方法是以只讀的方式掛載一個分區,對數據庫應用表級鎖或者關閉數據庫的引擎等;所有的措…

    Linux干貨 2016-09-05
  • Linux基礎之加密通訊過程詳解

    加密通訊過程詳解 第一階段 客戶端->服務器端 向服務器聲明自己的加密通訊協議版本,ssl或者tls 支持的加密算法 支持的壓縮算法 第二階段 服務器端->客戶端 向客戶端確認使用的加密通訊協議版本 確認的加密方法 確認壓縮方法 服務器端證書 第三階段 客戶端->服務器端 客戶端驗證服務器端證書 發證機構 證書完整性 證書持有者 證書有效期…

    2017-09-16
  • LINUX-用戶和組管理

    LINUX用戶和組管理 linux用戶分類:Username/UID      管理員:root,UID 0號,擁有最高權限;負責系統的啟功、停止,安裝新軟件,               增加、刪除用戶,保證系統正常運轉;     &nb…

    2017-05-30
  • Linux基礎學習總結(四)

    1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 cp -r /etc/skel/ /home/tuser1chmod -R 700 /home/tuser1ll -d /home/tuser1 2、編輯/etc/group文件,添加組hadoop。 echo “hadoo…

    Linux干貨 2016-10-03

評論列表(1條)

  • luoweiro
    luoweiro 2017-02-22 22:23

    作業完成的不錯,對于多款負載均衡軟件有對比,這部分很贊。

欧美性久久久久