Linux安裝HAProxy(CentOS 7)

一、HAProxy簡介

  HAProxy是一個使用C語言編寫的自由及開放源代碼軟件,其提供高可用性、負載均衡,以及基於TCP和HTTP的應用程序代理。 
  HAProxy特別適用於那些負載特大的web站點,這些站點通常又需要會話保持或七層處理。HAProxy運行在當前的硬件上,完全可以支持數以萬計的併發連接。並且它的運行模式使得它可以很簡單安全的整合進您當前的架構中, 同時可以保護你的web服務器不被暴露到網絡上。 
  HAProxy實現了一種事件驅動, 單一進程模型,此模型支持非常大的併發連接數。多進程或多線程模型受內存限制 、系統調度器限制以及無處不在的鎖限制,很少能處理數千併發連接。事件驅動模型因爲在有更好的資源和時間管理的用戶空間(User-Space) 實現所有這些任務,所以沒有這些問題。此模型的弊端是,在多核系統上,這些程序通常擴展性較差。這就是爲什麼他們必須進行優化以 使每個CPU時間片(Cycle)做更多的工作。

以下爲HAProxy配置兩臺服務器,其地址爲:

服務器1:10.192.235.23:8023

服務器2:10.192.235.211:8023

HAProxy安裝地址:10.192.235.23:18023

 

二、HAProxy的下載

下載地址1:http://www.haproxy.org/

下載地址2:http://pkgs.fedoraproject.org/repo/pkgs/haproxy/

這裏,我用下載地址2進行下載;我們選擇一個穩定的版本1.8.8

 

三、HAProxy的解壓

[root@linux-centos7 ~]# cd /usr/local/src/
[root@linux-centos7 src]# tar zxvf haproxy-1.8.8.tar.gz

 

四、HAProxy的安裝

[root@linux-centos7 src]#  cd haproxy-1.8.8
[root@linux-centos7 haproxy-1.8.8]# uname -r
3.10.0-514.26.2.el7.x86_64
[root@linux-centos7 haproxy-1.8.8]# make TARGET=linux310 ARCH=x86_64 PREFIX=/usr/local/haproxy
[root@linux-centos7 haproxy-1.8.8]# make install PREFIX=/usr/local/haproxy

參數說明:

  • TARGET=linux310,內核版本,使用uname -r查看內核,如:3.10.0-514.26,此時該參數就爲linux310;kernel 大於2.6.28的可以用:TARGET=linux2628;
  • ARCH=x86_64,系統位數;
  • PREFIX=/usr/local/haprpxy #/usr/local/haprpxy,爲haprpxy安裝路徑

 

五、配置文件的修改

  1.79及以後的版本解壓後文件內就沒有haproxy.cfg文件;由於沒有配置其他的服務器,這裏就簡單的添加一個可以讓Haproxy啓動的配置。

[root@linux-centos7 haproxy-1.8.8]# cd /usr/local/haproxy
[root@linux-centos7 haproxy]# mkdir conf
[root@linux-centos7 haproxy]# ls
conf  doc  sbin  share
[root@linux-centos7 haproxy]# cd conf/
[root@linux-centos7 conf]# vim haproxy.cfg

配置內容如下:

listen admin_stats
        bind 0.0.0.0:1080
        mode http
        option httplog
        maxconn 10
        stats refresh 30s
        stats uri /stats
        stats realm XingCloud\ Haproxy
        stats auth admin:admin
        stats auth  Frank:Frank
        stats hide-version
        stats  admin if TRUE

frontend viid_local_cluster
	bind 0.0.0.0:18023
	mode http
	option httplog 
	option forwardfor 
	option httpclose 
	log global
	default_backend htmpool

backend htmpool
        mode http
        option redispatch
        option	abortonclose
	balance roundrobin
        cookie SERVERID insert indirect nocache
	server serverd1 10.192.235.23:8023 check cookie server1 weight 3 check inter 2000 rise 2 fall 3
	server serverd2 10.192.235.211:8023 check cookie server2 weight 6 check inter 2000 rise 2 fall 3

說明(配置時注意修改以下參數):

1、listen admin_stats配置管理頁面;bind 0.0.0.0:1080爲Haproxy綁定管理頁面;

2、frontend viid_local_cluster表示監聽的前端請求地址,綁定的請求地址爲:bind 0.0.0.0:18023

3、backend htmpool表示後端的真實服務器;其地址爲10.192.235.23:8023和10.192.235.211:8023

 

六、啓動和停止HAProxy

1、啓動:

[root@linux-centos7 conf]# /usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/conf/haproxy.cfg

2、驗證一下是否啓動成功:

[root@linux-centos7 conf]# lsof -i :1080
COMMAND   PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
haproxy 13263 nobody    3u  IPv4 994405      0t0  TCP *:socks (LISTEN)
[root@linux-centos7 conf]#

3、管理頁面展示,地址爲安裝Haproxy的主機地址,路徑類似如下:10.192.235.23:1080/stats;

賬號和密碼默認均爲:admin

4、停止:

[root@linux-centos7 conf]# ps -ef|grep haproxy
nobody   13263     1  0 19:16 ?        00:00:00 /usr/haproxy/sbin/haproxy -f /usr/haproxy/conf/haproxy.cfg
root     14579 12890  0 20:21 pts/1    00:00:00 grep --color=auto haproxy
[root@linux-centos7 conf]# kill -9 13263

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章