global #全局設置
log 127.0.0.1 local0 #日誌輸出配置,所有日誌都記錄在本機,通過local0輸出
#log loghost local0 info
maxconn 4096 #最大連接數
chroot /usr/local/haproxy
uid 99 #所屬運行的用戶uid
gid 99 #所屬運行的用戶組
daemon #以後臺形式運行haproxy
nbproc 2 #啓動2個haproxy實例
pidfile /usr/local/haproxy/haproxy.pid #將所有進程寫入pid文件
#debug
#quiet
defaults #默認設置
#log global
log 127.0.0.1 local3 #日誌文件的輸出定向
mode http #所處理的類別,默認採用http模式,可配置成tcp作4層消息轉發
option httplog #日誌類別,採用httplog
option dontlognull
option forwardfor #如果後端服務器需要獲得客戶端真實ip需要配置的參數,可以從Http Header中獲得客戶端ip
option httpclose #每次請求完畢後主動關閉http通道,haproxy不支持keep-alive,只能模擬這種模式的實現
retries 3 #3次連接失敗就認爲服務器不可用,主要通過後面的check檢查
option redispatch #當serverid對應的服務器掛掉後,強制定向到其他健康服務器
maxconn 2000 #最大連接數
stats uri /haproxy-admin #haproxy 監控頁面的訪問地址
contimeout 5000 #連接超時時間
clitimeout 50000 #客戶端連接超時時間
srvtimeout 50000 #服務器端連接超時時間
stats auth Frank:Frank
#設置監控頁面的用戶和密碼:Frank
stats hide
-
version
#隱藏統計頁面的HAproxy版本信息
frontend www #前臺
bind *:80
default_backend webserver #靜態服務器池
backend webserver #後臺
mode http
balance leastconn#負載均衡算法
option httpchk HEAD /index.htm HTTP/1.0 #健康檢查
server web1 10.16.0.9:8085 cookie 1 weight 5 check inter 2000 rise 2 fall 3
server web2 10.16.0.10:8085 cookie 2 weight 3 check inter 2000 rise 2 fall 3
#cookie 1表示serverid爲1,check inter 1500 是檢測心跳頻率