第三章:HAproxy實例javascript
對Linux有興趣的朋友加入QQ羣:476794643 在線交流php
本文防盜鏈:http://zhang789.blog.51cto.comcss
上一篇:第二章:HAproxy配置文件詳解以及HAproxy的ACL詳解html
haproxy案例1:定義獨立日誌文件java
haproxy案例2:haproxy統計頁面的輸出機制node
haproxy案例3:動靜分離示例:mysql
haproxy案例4:實現web負載web
haproxy案例5:負載均衡MySQL服務sql
因爲字體過多分開寫的,全系列文章連接vim
第一章:HAproxy簡介及安裝配置 http://zhang789.blog.51cto.com/11045979/1873432
第二章:HAproxy配置文件詳解以及HAproxy的ACL詳解 http://zhang789.blog.51cto.com/11045979/1873435
第三章:HAproxy實例
http://zhang789.blog.51cto.com/11045979/1873436
[root@node1 haproxy]# vim /etc/rsyslog.conf #爲其添加日誌功能
# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514 ------>啓動udp,啓動端口後將做爲服務器工做
# Provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514 ------>啓動tcp監聽端口
local2.* /var/log/haproxy.log
[root@node1 haproxy]# service rsyslog restar
[root@LB haproxy]# vim haproxy.cfg
log 127.0.0.1 local2 --------->在global端中添加此行
listen statistics
bind *:8009 # 自定義監聽端口
stats enable # 啓用基於程序編譯時默認設置的統計報告
stats auth admin:admin # 統計頁面用戶名和密碼設置
stats uri /admin?stats # 自定義統計頁面的URL,默認爲/haproxy?stats
stats hide-version # 隱藏統計頁面上HAProxy的版本信息
stats refresh 30s # 統計頁面自動刷新時間
stats admin if TRUE #若是認證經過就作管理功能,能夠管理後端的服務器
stats realm Hapadmin # 統計頁面密碼框上提示文本,默認爲Haproxy\ Statistics
一、在兩臺機器上面一樣在網站根目錄下準備一個index.html和index.php
二、實現功能訪問.html後綴的只能訪問128,訪問.php結尾訪問140
frontend webservs
bind *:80
acl url_static path_beg -i /static /p_w_picpaths /javascript /stylesheets
acl url_static path_end -i .jpg .gif .png .css .js .html
acl url_php path_end -i .php
acl host_static hdr_beg(host) -i img. imgs. video. videos. ftp. p_w_picpath. download.
use_backend static if url_static or host_static
use_backend dynamic if url_php
default_backend dynamic
backend dynamic
mode http
balance roundrobin
server node2 192.168.211.140:80 cookie 1 weight 5 check inter 2000 rise 1 fall 1
backend static
mode http
balance roundrobin
server node1 192.168.211.128:80 cookie 1 weight 5 check inter 2000 rise 1 fall 1
[root@web1 ~]# yum -y install httpd
[root@web1 ~]# cd /var/www/html/
[root@web1 html]# echo "<h1>Server WWW node1</h1>" > index.html
二、node2安裝http和測試頁面
[root@web2 ~]# yum -y install httpd
[root@web2 ~]# cd /var/www/html/
[root@web2 html]# echo "<h1>Server WWW node2</h1>" > index.html
三、haproxy安裝配置
[root@HAproxy ~]# yum -y groupinstall "Development Tools"
[root@HAproxy ~]# yum -y install haproxy
四、配置文件
[root@HAproxy ~]# cat /etc/haproxy/haproxy.cfg
......主要配置函數
listen stats #監控頁面
mode http
bind 0.0.0.0:1080
stats enable
stats hide-version
stats uri /haproxyadmin?stats
stats realm Haproxy\ Statistics
stats auth admin:admin
stats admin if TRUE
frontend main #定義服務器組
bind *:80
default_backend server
backend server #定義服務器
mode http
balance roundrobin
option httpchk HEAD /index.html HTTP/1.0
server node1 192.168.211.140:80 cookie 1 weight 5 check inter 2000 rise 1 fall 1
server node2 192.168.211.128:80 cookie 1 weight 5 check inter 2000 rise 1 fall 1
五、查看監控頁面
frontend mysql
bind *:3306
mode tcp
log global
default_backend mysqlservers
backend mysqlservers
balance leastconn
server dbsrv1 192.168.211.140:3306 check port 3306 intval 2 rise 1 fall 2 maxconn 300
server dbsrv2 192.168.211.128:3306 check port 3306 intval 2 rise 1 fall 2 maxconn 300