1. 程式人生 > >(三)CentOS7 安裝 haproxy (開啟預設監控介面......)

(三)CentOS7 安裝 haproxy (開啟預設監控介面......)

  1. 安裝
  2. yum install haproxy

    檢視版本號

    haproxy -v

  3. 修改配置檔案為如下內容-->全覆蓋後,修改對應埠號即可(檔案位置:/etc/haproxy/haproxy.cfg)

  4. #---------------------------------------------------------------------
    # Global settings
    #---------------------------------------------------------------------
    global
    	log 127.0.0.1 local0
    	chroot /var/lib/haproxy              # 改變當前工作目錄
    	pidfile /var/run/haproxy.pid         # haproxy的pid存放路徑,啟動程序的使用者必須有許可權訪問此檔案
    	maxconn 4000                         # 最大連線數,預設4000
    	user haproxy                         # 預設使用者
    	group haproxy                        # 預設組
    	daemon                               # 建立1個程序進入deamon模式執行。此引數要求將執行模式設定為daemon
    	stats socket /var/lib/haproxy/stats  # 建立監控所用的套接字目錄
    #---------------------------------------------------------------------
    # defaults settings
    #---------------------------------------------------------------------
    # 注意:因為要使用tcp的負載,遮蔽掉與http相關的預設配置
    defaults
    	mode http                            # 預設的模式mode { tcp|http|health },tcp是4層,http是7層,health只會返回OK
    	log global
    	option dontlognull                   # 啟用該項,日誌中將不會記錄空連線。所謂空連線就是在上游的負載均衡器
    	option redispatch                    # serverId對應的伺服器掛掉後,強制定向到其他健康的伺服器
    	retries 3                            # 3次連線失敗就認為服務不可用,也可以通過後面設定        
    	timeout queue 1m
    	timeout connect 10s                  # 連線超時時間
    	timeout client 1m                    # 客戶端連線超時時間
    	timeout server 1m                    # 伺服器端連線超時時間
    	timeout check 10s                    
    	maxconn 3000                         # 最大連線數
    #---------------------------------------------------------------------
    listen admin_stats                           #開啟haproxy監控介面
    	bind *:80                            #繫結80埠
    	mode http
    	option httplog
    	stats enable                         #開啟統計
    	stats refresh 30s
    	stats uri /haproxy?stats             #監控介面url為:http://ip:80/haproxy/stats
    	stats auth admin:123456
    	stats realm welcome\ Haproxy
    	stats admin if TRUE
    #---------------------------------------------------------------------
    listen rabbitmq_admin                        #代理rabbitmq叢集的管理介面
    	bind *:15672                         #繫結15672埠
    	mode http
    	option httplog
    	server rmq-n1 10.200.37.201:15672
    	server rmq-n2 10.200.37.202:15672
    	server rmq-n3 10.200.37.203:15672
    #---------------------------------------------------------------------
    listen rabbitmq_cluster                      #代理rabbitmq叢集
    	bind *:5672                          #繫結5672埠
    	mode tcp
    	option tcplog
    	balance roundrobin
    	server rmq-n1 10.200.37.201:5672 check inter 5000 rise 2 fall 2
    	server rmq-n2 10.200.37.202:5672 check inter 5000 rise 2 fall 2
    	server rmq-n3 10.200.37.203:5672 check inter 5000 rise 2 fall 2

    此時,訪問http://ip:80/haproxy?stats即可看到監控介面

  5. 特別注意的是:
    很多童鞋到這一步,在瀏覽器輸入http://ip:80/haproxy?stats後,監控介面總是出不來!!!

        第一時間就認為是haproxy.cfg檔案哪一項配置出錯了?(檢查了無數遍也沒發現問題......),甚至都開始懷疑所安裝的haproxy版本是否有問題了!
        這個haproxy有毒!
        耽誤了一個多小時,最後才發現:在haproxy.cfg檔案中開啟監控介面後,所監聽的80埠未加入防火牆白名單!!!

  6. 開啟指定埠

  7. firewall-cmd --zone=public --add-port=80/tcp --permanent
    firewall-cmd --reload

    檢視防火牆白名單列表,可以看到80埠已開啟

    firewall-cmd --zone=public --list-ports

  8. 再次訪問http://ip:80/haproxy?stats,監控介面出現,大功告成!