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 14:14
下一篇 2017-02-18 17:17

相關推薦

  • sed命令應用詳解

    sed應用詳解 sed是文本處理處理工具“三大劍客”之一,它 是一種流編輯器,sed一次只處理一行內容。處理時,把當前處理的行存儲在臨時緩沖區中,稱為“模式空間”(patternspace),接著用sed命令處理緩沖區中的內容,處理完成后,把緩沖區的內容送往屏幕。接著處理下一行,這樣不斷重復,直到文件末尾。sed不會修改原文件內容,除非你使用重定向存儲輸出?!?/p>

    Linux干貨 2016-08-11
  • 馬哥教育網絡班22期+第7周課程練習

    1、創建一個10G分區,并格式為ext4文件系統;    (1) 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl;       [root@localhost ~]#…

    Linux干貨 2016-10-09
  • N25-第5周博客作業

    N25-第5周博客作業 1、顯示/boot/grub/grub.conf中以至少一個空白字符開頭的行; grep -E "^[[:space:]]+[[:alnum:]]+" /boot/grub/grub.conf    grep "^[[:space:]]…

    Linux干貨 2016-12-31
  • day06(8-3)作業-文件權限

    第一題、三種權限rwx對文件和目錄的意義     權限對文件的意義         r(read):可以讀取文件的內容,如讀取文本文件的內容         w(write):可以編輯、新增或者是修改文件的內容,但不含有刪除文件(…

    Linux干貨 2016-08-04
  • 用戶和組相關配置文件

    1. /etc/passwd文件詳解 輸入vi /etc/passwd 可以查看此文件的內容 [root@localhost ~]# vi /etc/passwdroot:x:0:0:root:/root:/bin/bash root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/…

    Linux干貨 2016-10-23
  • 系統時間與硬件時間

    1. “系統時間”與“硬件時間”    系統時間: 一般說來就是我們執行 date 命令看到的時間,linux系統下所有的時間調用(除了直接訪問硬件時間的命令)都是使用的這個時間。    硬件時間: 主板上BIOS中的時間,由主板電池供電來維持運行,系統開機時要讀取這個時間,并根…

    Linux干貨 2016-08-05

評論列表(1條)

  • luoweiro
    luoweiro 2017-02-22 22:23

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

欧美性久久久久