1>建立haproxy配置文件nginx
vi /docker/HAProxy/confweb
2>編輯配置文件redis
global
maxconn 10000 #默認最大鏈接數
log 127.0.0.1 local0 #[err warning info debug]
chroot /usr/local/sbin #chroot運行的路徑
daemon #之後臺形式運行haproxy
pidfile /var/run/haproxy.pid #haproxy的pid存放路徑,啓動進程的用戶必須有權限訪問此文件
defaults
log 127.0.0.1 local3
mode http #所處理的類別 (#7層 http;4層tcp )
maxconn 10000 #最大鏈接數
option dontlognull #不記錄健康檢查的日誌信息
option redispatch #serverId對應的服務器掛掉後,強制定向到其餘健康的服務器
#stats refresh 30 #統計頁面刷新間隔
retries 3 #3次鏈接失敗就認爲服務不可用,也能夠經過後面設置
balance roundrobin #默認的負載均衡的方式,輪詢方式
#balance source #默認的負載均衡的方式,相似nginx的ip_hash
#balance leastconn #默認的負載均衡的方式,最小鏈接
timeout connect 5000 #鏈接超時
timeout client 50000 #客戶端超時
timeout server 50000 #服務器超時
timeout check 2000 #心跳檢測超時
####################################################################
listen http_front
bind 0.0.0.0:5669 #監聽端口
stats refresh 30s #統計頁面自動刷新時間
stats uri /haproxy?stats #統計頁面url
stats realm Haproxy Manager #統計頁面密碼框上提示文本
stats auth admin:admin #統計頁面用戶名和密碼設置
#stats hide-version #隱藏統計頁面上HAProxy的版本信息
#####################我把RabbitMQ的管理界面也放在HAProxy後面了###############################
listen rabbitmq_admin
bind 0.0.0.0:5671 #經過訪問外網IP:5671進入rabbitmq管理界面
server rabbitmq4 外網IP:15675
server rabbitmq3 外網IP:15674
server rabbitmq2 外網IP:15673
server rabbitmq1 外網IP:15672
####################################################################
listen rabbitmq_cluster
bind 0.0.0.0:5670
option tcplog
mode tcp
timeout client 3h
timeout server 3h
option clitcpka
balance roundrobin #負載均衡算法(#banlance roundrobin 輪詢,balance source 保存session值,支持static-rr,leastconn,first,uri等參數)
#balance url_param userid
#balance url_param session_id check_post 64
#balance hdr(User-Agent)
#balance hdr(host)
#balance hdr(Host) use_domain_only
#balance rdp-cookie
#balance leastconn
#balance source //ip
server rabbitmq4 外網IP:5675 check inter 5s rise 2 fall 3
server rabbitmq3 外網IP:5674 check inter 5s rise 2 fall 3 #check inter 2000 是檢測心跳頻率,rise 2是2次正確認爲服務器可用,fall 3是3次失敗認爲服務器不可用
server rabbitmq2 外網IP:5673 check inter 5s rise 2 fall 3
server rabbitmq1 外網IP:5672 check inter 5s rise 2 fall 3算法
3>建立容器docker
docker run -d -p 5669-5671:5669-5671 -v /docker/HAProxy/conf/haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg --name=haproxy haproxy:latest服務器
4>打開haproxy web管理界面cookie
外圍IP :5669/haproxy?statssession