HAProxy負載均衡web服務

說明: 準備三臺主機,前端和node一、node2。前端地址爲202.207.178.6,node1:202.207.178.7,202.207.178.8。前端安裝HAProxy作反向代理,後端安裝httpd提供web服務。(爲避免影響,先關閉防火牆)
前端

一、根據需求在兩臺後端主機上作相應配置,而且提供訪問測試頁node

二、在前端主機安裝haproxyweb

# yum -y install haproxyredis

三、更改日誌記錄方式vim

1)# vim /etc/sysconfig/rsyslog後端

SYSLOGD_OPTIONS="-c 2 -r"瀏覽器


2)# vim /etc/rsyslog.conf安全

local2.*                                                /var/log/haproxy.log服務器

四、修改haproxy的配置文件爲以下內容併發

# vim /etc/haproxy/haproxy.cfg

global

# to have these messages end up in /var/log/haproxy.log you will

# need to:

#

# 1) configure syslog to accept network log events.  This is done

#    by adding the '-r' option to the SYSLOGD_OPTIONS in

#    /etc/sysconfig/syslog

#

# 2) configure local2 events to go to the /var/log/haproxy.log

#   file. A line like the following can be added to

#   /etc/sysconfig/syslog

#

#    local2.*                       /var/log/haproxy.log

#

log         127.0.0.1 local2 #定義全局的syslog服務器,最多能夠定

                             義兩個;

chroot      /var/lib/haproxy #修改haproxy的工做目錄至指定的目錄並放                         棄權限以前執行chroot()操做,能夠提高haproxy的                        安全級別,不過須要注意的是要確保指定的目錄爲空目

                      錄且任何用戶均不能有寫權限;

pidfile     /var/run/haproxy.pid 

maxconn     4000 #設定每一個haproxy進程所接受的最大併發鏈接數

user        haproxy

group       haproxy

daemon #讓haproxy以守護進程的方式工做於後臺,其等同於「-D」選項的

                功能,固然,也能夠在命令行中以「-db」選項將其禁用;

# turn on stats unix socket

stats socket /var/lib/haproxy/stats


#---------------------------------------------------------------------

# common defaults that all the 'listen' and 'backend' sections will

# use if not designated in their block

#---------------------------------------------------------------------

defaults

mode                    http #設定實例的運行模式或協議

log                     global    #爲每一個實例啓用事件和流量日誌

option                  httplog #啓用記錄HTTP請求、會話狀態

                                和計時器的功能

option                  dontlognull

option http-server-close #爲每個請求都附加X-Forwarded-For首部必須啓動的項

option forwardfor       except 127.0.0.0/8 #容許在發往服務器的請求首部

                               中插入「X-Forwarded-For」首部

option                  redispatch

retries                 3

timeout http-request    10s

timeout queue           1m

timeout connect         10s

timeout client          1m

timeout server          1m

timeout http-keep-alive 10s

timeout check           10s

maxconn                 3000 #定義最大鏈接數


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 web

bind *:80

mode http

log global

option httpclose

option logasap

option dontlognull

capture request  header Host len 20         #捕獲並記錄指定的請求首部

                                 最近一次出現時的第一個值

capture request  header Referer len 60

default_backend servers

backend servers

balance roundrobin

server web1 202.207.178.7:80 check maxconn 2000

server web2 202.207.178.8:80 check maxconn 2000

五、此時即可啓動服務進行測試了

# service haproxy start

在瀏覽器中訪問:

http://202.207.178.6 能夠發現後端節點輪詢

http://202.207.178.6:1080/haproxyadmin?stats 輸入用戶名admin和密碼admin

                                後可登錄進haproxy的管理界面

此時,HAProxy配置完成!

                        

                                 歡迎批評指正!

相關文章
相關標籤/搜索