Haproxy_haproxy.cfg

 1 global                                                       # 全局參數的設置
 2     log         127.0.0.1 local2                      # log語法:log <address_1>[max_level_1] # 全局的日誌配置,使用log關鍵字,
 3  #                                                                    指定使用127.0.0.1
 4   #                                                                   上的syslog服務中的local0日誌設備,記錄日誌等級爲info的日誌
 5     chroot      /var/lib/haproxy                 #改變當前工做目錄
 6     pidfile     /var/run/haproxy.pid          #當前進程id文件
 7     maxconn     4000                                #最大鏈接數
 8     user        haproxy                                #所屬用戶
 9     group     haproxy                                #所屬組
10     daemon                                               #以守護進程方式運行haproxy
11     stats socket /var/lib/haproxy/stats
12 defaults
13     mode                    http                        #默認的模式mode { tcp|http|health },tcp是4層,http是7層,health只會返回OK
14     log                        global                    #應用全局的日誌配置
15     option                  httplog                  # 啓用日誌記錄HTTP請求,默認haproxy日誌記錄是不記錄HTTP請求日誌
16                                                                  
17     option                  dontlognull          # 啓用該項,日誌中將不會記錄空鏈接。所謂空鏈接就是在上游的負載均衡器
18    #                                                                或者監控系統爲了探測該 服務是否存活可用時,須要按期的鏈接或者獲取某
19     #                                                              一固定的組件或頁面,或者探測掃描端口是否在監聽或開放等動做被稱爲空鏈接;
20      #                                                             官方文檔中標註,若是該服務上游沒有其餘的負載均衡器的話,建議不要使用
21       #                                                             該參數,由於互聯網上的惡意掃描或其餘動做就不會被記錄下來
22     option http-server-close                   #每次請求完畢後主動關閉http通道
23     option forwardfor       except 127.0.0.0/8   #若是服務器上的應用程序想記錄發起請求的客戶端的IP地址,須要在HAProxy
24        #                                                                     上 配置此選項, 這樣 HAProxy會把客戶端的IP信息發送給服務器,在HTTP
25        #                                                                    請求中添加"X-Forwarded-For"字段。 啓用  X-Forwarded-For,在requests
26        #                                                                   頭部插入客戶端IP發送給後端的server,使後端server獲取到客戶端的真實IP。
27     option                  redispatch                      # 當使用了cookie時,haproxy將會將其請求的後端服務器的serverID插入到
28      #                                                                  cookie中,以保證會話的SESSION持久性;而此時,若是後端的服務器宕掉
29       #                                                                 了, 可是客戶端的cookie是不會刷新的,若是設置此參數,將會將客戶的請
30             #                                                                求強制定向到另一個後端server上,以保證服務的正常。
31     retries                 3                             # 定義鏈接後端服務器的失敗重連次數,鏈接失敗次數超過此值後將會將對應後端
32              #                                                     服務器標記爲不可用
33     timeout http-request    10s             #http請求超時時間
34     timeout queue           1m                 #一個請求在隊列裏的超時時間
35     timeout connect         10s                #鏈接超時
36     timeout client          1m                   #客戶端超時
37     timeout server          1m                   #服務器端超時
38     timeout http-keep-alive 10s           #設置http-keep-alive的超時時間
39     timeout check           10s                 #檢測超時
40     maxconn                 3000                 #每一個進程可用的最大鏈接數
41 frontend  main *:8081                             #監聽地址爲8081
42     stats uri /haproxy        #Haproxy 統計頁面
43     acl url_static       path_beg       -i /static /images /javascript /stylesheets
44     acl url_static       path_end       -i .jpg .gif .png .css .js
45     use_backend static          if url_static
46     default_backend             my_webserver     #定義一個名爲my_app前端部分。此處將對於的請求轉發給後端
47 backend static                                                 #使用了靜態動態分離(若是url_path匹配 .jpg .gif .png .css .js靜態文件則
48               #                                                              訪問此後端)
49     balance     roundrobin                               #負載均衡算法(#banlance roundrobin 輪詢,balance source 保存session值,
50                #                                                            支持static-rr,leastconn,first,uri等參數)
51     server      static 220.181.111.37:80 check             #靜態文件部署在本機(也能夠部署在其餘機器或者squid緩存服務器)
52 backend my_webserver                                  #定義一個名爲my_webserver後端部分。PS:此處my_webserver只是一個
53                 #                                                            自定義名字而已,可是須要與frontend裏面配置項default_backend 值相一致
54     balance     roundrobin                               #負載均衡算法
55     server  web01 127.0.0.1:8088  check inter 2000 fall 3 weight 30              #定義的多個後端56     server  web03 192.168.92.131:80  check inter 2000 fall 3 weight 30              #定義的多個後端
相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息