說明: 準備三臺主機,前端和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配置完成!
歡迎批評指正!