Haproxy的基礎應用!

        本篇博客主要是和大家共同了解一下Haproxy的功能與基礎應用,目的是更加熟練的掌握Haproxy的工作原理,為將來的工種中做好鋪墊!

      本篇博客共分為兩個部分:

                                          ⊙ Haproxy的簡介

                                          ⊙ Haproxy作為負載均衡器的基礎配置


       ⊙ Haproxy的簡介:


        Haproxy是工作在偽四層的負載均衡軟件的實現方式,haproxy是TCP/HTTP服務的反代,基于我們靜態分配的cooclks來完成http協議的請求調度,可以基于服務器的持久連接來實現負載均衡。haproxy進入了商業版本以后,就進入了快速迭代周期,目前正在維護的版本有 1.4  1.5  1.6  1.7的 和正在測試的1.8版本。haproxy與keepalived一樣,重CentOS6.4以后開始被收錄到base倉庫,隨系統反向光盤直接提供,由此,我們可以看到他的市場占有率和被大眾接受的程度,同時,他的可靠性也足以被驗證;haproxy是隨base倉庫提供的,但nginx沒有,還屬于epel倉庫才有。也就意味著,我們將來要配置使用haproxy要比使用nginx還要容易一些。至少從來源方面來說如此;

        我們可以用先查看一下base倉庫中提供的版本,然后在官方文檔中查看響應的手冊;他的官方主頁為: haproxy.org; 其文檔位于: http://cbonte.github.io/haproxy-dconv/

      我們可以直接使用命令: yum -y install haproxy 進行安裝;安裝完成后,我們可以看到:

      主程序: /usr/sbin/haproxy

      主配置文件: /etc/haproxy/haproxy.dfg

      unit file: /usr/lib/systemd/system/haproxy.service

      進入到主配置文件中,我們可以看到大體上分為兩段:

      global:全局配置段,進程及完全配置相關的參數,性能調整相關參數,Debug參數;

      proxies:代理配置段;

      我們先來看代理配置段,代理配置段又分為四個組件:

                                         defaults:定義前端和后端公共參數的默認值;

                                         frontend:用來定義如何接受用戶請求的server;

                                         backend:用來定義如何將后端服務器歸并成組,而且能做負載均衡調度的;

                                         listen:    一個前端和一個后端定義在一起,此前端只調用此后端,此后端只供應此前端;

         這些我們都把它統稱為代理配置段,這些前端,后端是用來定義代理功能是如何工作的,但是作為haproxy應用程序來說,自己以哪個用戶身份運行,與代理無關,我們監聽在哪個端口上與代理有關系,但是作為global自己來講,我們運行為幾層結構模式?啟動多少個子進程?等等。與代理也沒有關系。這些都是程序級配置,我們都把他放在global全局配置段中,所有程序自身工作屬性的配置段,都在global中,而代理的配置段,要在代理配置斷種;整個haproxy就是這般配置的!


 ⊙ Haproxy作為負載均衡器的基礎配置


      好了,說了這么多,現在我們來配置一個簡單的負載均衡進群,首先,我們需要準備三臺主機,在這里,我們都是使用的CentOS7.3系統的,第一個作為haproxy調度器,后兩臺做后端服務器,我們先在后端服務器上下載安裝上httpd,然后分別設置他們的訪問頁面,如圖0516-01.jpg所示;然后使用命令:systemstl start httpd 啟動它們,使用 ss -tnl 可以看到80端口已然開啟,清除防火墻,關閉selinux,以免成為不必要的阻礙。至此,兩臺后端主機配置完畢,在這里需要說明一下,理論上后端的兩臺服務器應該使用私網Ip,并且前端調度器有一個公網Ip和一個私網Ip,并能夠與兩臺后端服務器的私網Ip互相通信,在這里我們主要用來haproxy的調度功能,所以方便起見,我們都是有的公網Ip;

                     Haproxy的基礎應用!

                     Haproxy的基礎應用!

                                                     示圖: 0516-01.jpg

      然后我們再來配置haproxy調度器,先使用命令 yum -y install haproxy 下載安裝haproxy,安裝完成后,我們來看一下它生成的一下文件,其主配置文件為/etc/haproxy中的haproxy.dfg;主進程為/usr/sbin/haproxy;其他的則為一些輔助文件,下面,我們進入到主配置文件中,前面已經對主配置文件的結構進行了介紹,所以在這里我們可以直接進行配置;

      配置haproxy為一個web server負載均衡調度器其實非常簡單,我們只需要更改幾個參數即可,我們先來配置frontend段,main表示主server,我們可以隨意定義,但是需要注意的是一定不能重復,包括bcakend段中的也是,這里,我們命名為marui,然后把端口改為webfuwu默認的80端口,中間的都可以刪除,只留下default_backend即可,并把app改為backend段的名稱即可,然后再來配置backend段,balance為負載均衡的調度算法,roundrobin為輪詢算法,這兩個參數不用動,把server在復制一行,進行配置,把后端兩個服務器的IP:PORT寫入即可,具體配置如圖所示;至此,配置完成!


                Haproxy的基礎應用!

                                                                示圖: 0516-02.jpg


        啟動服務: systemctl start haproxy 使用 ss -tnl 查看調度器80端口已然開啟,清除防火墻,關閉selinux,全部設定完成后,我們就可以使用瀏覽器進行訪問調度器地址了!


                Haproxy的基礎應用! 

                Haproxy的基礎應用!

                                                       示圖: 0516-03.jpg

           

                刷新瀏覽器,可以看到他會在30和20之間來會調度,自此,一個簡單的haproxy負載均衡調度器就配置完成啦!是不是非常easy!但是,這只是haproxy的極小的一部分,haproxy還有許許多多的配置參數等待著我們一一去學習,本篇博客就先介紹這些,對于haproxy更深入的了解使用,我們下篇繼續!



















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

(0)
MaruiMarui
上一篇 2017-05-16 22:51
下一篇 2017-05-17 08:41

相關推薦

  • pxe和dhcp服務——引導安裝操作系統

    BootStraping:系統提供(OS Provision) pxe –> preboot excution environment, Intel cobbler –> Cobbler is a network install server.  Cobbler supports PXE, ISO virtual…

    Linux干貨 2016-11-05
  • 馬哥教育網絡班20期+第2周課程練習

    1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示 文件管理命令:ls、cd、pwd、mkdir、rmdir、cp、rm.、mv、touch、cat、more、less、head、tail 1)ls命令:顯示目錄文件   -a 顯示所有文件,包括隱藏文件  ~]# ls -a /etc.  &n…

    Linux干貨 2016-06-23
  • FHS文件系統下個各目錄功能

    FHS文件系統下個各目錄功能 FHS文件系統的建立是為了讓開發者和用戶可以預測軟件安裝文件和文件夾的位置。對整個linux的文件系統系統做了以下的規范:     /bin:命令二進制文件的存放目錄;     /boot:系統啟動時一些文件存放的目錄,包含引導linux的重要文件,…

    Linux干貨 2016-10-18
  • 【超全整理】《Linux云計算從入門到精通》系列實戰筆記全放送

    ? ? ? 為了方便Linux云計算愛好者的學習查看,馬哥Linx云計算團隊特別整理了《Linux云計算從入門到精通》年度重磅大放送,囊括了整個學習過程的學習精華,內容全部由馬哥Linux云計算學員撰寫,歡迎大家支持!??! ? ? ? 詳情請看: ?一、Linux運維基礎實戰入門 從Linux0基礎入門開始,全面講解作為新手如何學習Linux,以及學習方法和…

    2017-09-14
  • N22-love cat第19周 – 基于Apache + Tomcat +2種模式實現負載均衡以及配置集群seesion服務

      基于Apache+Tomcat實現負載均衡和集群服務 一、概念     從Tomcat權威指南中的測試數據,我們不難發現,對于靜態頁面的數據,Tomcat的處理速度比Apache要快很多,所以為什么要整合apache雖然在處理靜態頁面速度上比Apache快,但是Tomcat經不起大的并發量容易死。為此,我們就需要A…

    Linux干貨 2016-08-29
  • 優云運維安全專家實踐:使用802.1X+FreeRadius+LDAP實現網絡準入方案

    本文,將為大家分享運維前沿在網絡準入管理方面的實踐經驗。 網絡準入業界常用方案 為了保證網絡資源的安全,拒絕非法入侵,現代IT網絡總需要一定的網絡準入方案,而目前業界常用的網絡準入方案有: 而今天給大家介紹的802.1X+FreeRadius+LDAP網絡準入方案,則避免了上述方案中的缺點,是一套低成本,控制能力強,符合行業標準的一套網絡準入認證體系。 什么…

    安全運維 2016-07-10
欧美性久久久久