当前位置: 代码迷 >> 综合 >> (三)CentOS7 安装 haproxy (开启默认监控界面......)
  详细解决方案

(三)CentOS7 安装 haproxy (开启默认监控界面......)

热度:43   发布时间:2023-12-21 04:44:20.0
  1. 安装
  2. yum install haproxy

    查看版本号

    haproxy -v

  3. 修改配置文件为如下内容-->全覆盖后,修改对应端口号即可(文件位置:/etc/haproxy/haproxy.cfg)

  4. #---------------------------------------------------------------------
    # Global settings
    #---------------------------------------------------------------------
    globallog 127.0.0.1 local0chroot /var/lib/haproxy              # 改变当前工作目录pidfile /var/run/haproxy.pid         # haproxy的pid存放路径,启动进程的用户必须有权限访问此文件maxconn 4000                         # 最大连接数,默认4000user haproxy                         # 默认用户group haproxy                        # 默认组daemon                               # 创建1个进程进入deamon模式运行。此参数要求将运行模式设置为daemonstats socket /var/lib/haproxy/stats  # 创建监控所用的套接字目录
    #---------------------------------------------------------------------
    # defaults settings
    #---------------------------------------------------------------------
    # 注意:因为要使用tcp的负载,屏蔽掉与http相关的默认配置
    defaultsmode http                            # 默认的模式mode { tcp|http|health },tcp是4层,http是7层,health只会返回OKlog globaloption dontlognull                   # 启用该项,日志中将不会记录空连接。所谓空连接就是在上游的负载均衡器option redispatch                    # serverId对应的服务器挂掉后,强制定向到其他健康的服务器retries 3                            # 3次连接失败就认为服务不可用,也可以通过后面设置        timeout queue 1mtimeout connect 10s                  # 连接超时时间timeout client 1m                    # 客户端连接超时时间timeout server 1m                    # 服务器端连接超时时间timeout check 10s                    maxconn 3000                         # 最大连接数
    #---------------------------------------------------------------------
    listen admin_stats                           #开启haproxy监控界面bind *:80                            #绑定80端口mode httpoption httplogstats enable                         #开启统计stats refresh 30sstats uri /haproxy?stats             #监控界面url为:http://ip:80/haproxy/statsstats auth admin:123456stats realm welcome\ Haproxystats admin if TRUE
    #---------------------------------------------------------------------
    listen rabbitmq_admin                        #代理rabbitmq集群的管理界面bind *:15672                         #绑定15672端口mode httpoption httplogserver rmq-n1 10.200.37.201:15672server rmq-n2 10.200.37.202:15672server rmq-n3 10.200.37.203:15672
    #---------------------------------------------------------------------
    listen rabbitmq_cluster                      #代理rabbitmq集群bind *:5672                          #绑定5672端口mode tcpoption tcplogbalance roundrobinserver rmq-n1 10.200.37.201:5672 check inter 5000 rise 2 fall 2server rmq-n2 10.200.37.202:5672 check inter 5000 rise 2 fall 2server 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,监控界面出现,大功告成!