Haproxy安装使用

  • yum安装
yum update
yum install haproxy
  • 修改haproxy配置文件,默认目录:/etc/haproxy/haproxy.cfg,下面是一些参考配置
#---------------------------------------------------------------------
# Global settings    
#---------------------------------------------------------------------
global    #全局配置文件
    log         127.0.0.1 local2        #日志配置,所有的日志都记录本地,通过local2输出
    maxconn         20000
	ulimit-n	16384
    #chroot      /var/lib/haproxy        #改变haproxy的工作目录
    #pidfile     /var/run/haproxy.pid    #指定pid文件的路径
    maxconn     4000                    #最大连接数的设定
    #user        haproxy                 #指定运行服务的用户
    #group       haproxy                 #指定运行服务的用户组
    daemon

#---------------------------------------------------------------------
# common defaults that all the 'listen' and 'backend' sections will
# use if not designated in their block
#---------------------------------------------------------------------
defaults
     
    mode                    http                  #默认使用协议,可以为{http|tcp|health} http:是七层协议 tcp:是四层 health:只返回OK
    log                     global                #全局日志记录
    option                  httplog               #详细记录http日志
    option                  dontlognull           #不记录空日志
    option http-server-close                      #启用http-server-close
    option forwardfor       except 127.0.0.0/8    #来自这些信息的都不forwardfor
    option                  redispatch            #重新分发,ServerID对应的服务器宕机后,强制定向到其他运行正常的服务器
    retries                 3                      #3次连接失败则认为服务不可用
    timeout http-request    10s                    #默认http请求超时时间
    timeout queue           1m                     #默认队列超时时间
    timeout connect         10s                    #默认连接超时时间
    timeout client          1m                     #默认客户端超时时间
    timeout server          1m                     #默认服务器超时时间
    timeout http-keep-alive 10s                    #默认持久连接超时时间
    timeout check           10s                    #默认检查时间间隔
    maxconn                 3000                   #最大连接数
 
######## 监控界面配置 #################
listen admin_status
        # 监控界面访问信息
        bind 0.0.0.0:8888
        mode http
        #自动刷新时间
        stats refresh 30s
        # URI相对地址
        stats uri /
        # 统计报告格式
        # stats realm Global\ statistics
        stats realm welcome login\ Haproxy
        # 登录账户信息
        stats auth admin:123456
        #用来隐藏统计页面上HAProxy 的版本信息
        stats hide-version
        #通过设置此选项,可以在监控页面上手工启用或禁用后端真实服务器
        stats admin if TRUE
        ########frontend配置##############

######## mysql负载均衡配置 ###############
listen mysql
        bind 0.0.0.0:3306
        mode tcp
        # 负载均衡算法
        # static-rr 权重, leastconn 最少连接, source 请求IP, 轮询 roundrobin
        balance roundrobin
        # 日志格式
        # option tcplog
        # 在 mysql 创建一个没有权限的haproxy用户,密码为空。 haproxy用户
        # create user 'haproxy'@'%' identified by ''; FLUSH PRIVILEGES;
        # option mysql-check user haproxy
         # 这里是容器中的IP地址,由于配置的是轮询roundrobin,weight 权重其实没有生效
        server mysql_1 192.168.41.129:3306 check weight 1 maxconn 2000
        server mysql_2 192.168.41.130:3306 check weight 1 maxconn 2000
        server mysql_3 192.168.41.131:3306 check weight 1 maxconn 2000
        # 使用keepalive检测死链
        # option tcpka
#########################################


########test1配置#################
# listen test1
#         bind 0.0.0.0:8008
#         mode tcp
#         balance roundrobin
#         server s1 127.0.0.1:8010 weight 1 maxconn 10000 check inter 10s
#         server s2 127.0.0.1:8011 weight 1 maxconn 10000 check inter 10s
#         server s3 127.0.0.1:8012 weight 1 maxconn 10000 check inter 10s
 
########test2配置#################
# listen test2
#         bind 0.0.0.0:8007
#         mode tcp
#         balance roundrobin
#         server s1 192.168.1.88:8010 weight 1 maxconn 10000 check inter 10s
  • 修改ulimit配置,haproxy要求ulimit大于(maxconn*2 + 15 

ulimit -n 查看当前配置大小,默认1024

#临时修改
ulimit -n 65536

#永久修改,需要修改/etc/security/limits.conf配置文件,文末增加以下内容,然后重新登录就可以生效
* soft nofile 65536
* hard nofile 65536
* soft nproc 65565
* hard nproc 65565
  • 启动服务并配置自启动,启动后访问8888端口,使用admin/123456登录就可以看到UI界面了。
systemctl start haproxy
systemctl enable haproxy

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Ansible是一种自动化配置管理工具,可以用于自动化部署、配置和管理服务器。HAProxy是一个负载均衡器,可以帮助将流量均匀地分发到多台服务器上。 要在服务器上安装Ansible和HAProxy,可以按照以下步骤进行操作: 1. 确保你的服务器已经安装了Python。Ansible是基于Python开发的,所以需要在服务器上安装Python。 2. 在控制节点上安装Ansible。你可以使用包管理工具(如yum或apt-get)进行安装。例如,在基于Red Hat的系统上,可以使用以下命令安装Ansible: ``` yum install ansible ``` 3. 创建一个Ansible的inventory文件,用于指定要部署和配置HAProxy的服务器。在该文件中,你需要提供服务器的IP地址或主机名。例如,创建一个名为`hosts.ini`的文件,并在其中添加以下内容: ``` [haproxy] server1 ansible_host=192.168.0.1 server2 ansible_host=192.168.0.2 ``` 4. 创建一个Ansible Playbook,用于定义安装和配置HAProxy的任务。在Playbook中,你可以使用Ansible的模块来执行各种任务,例如安装软件、创建配置文件等。以下是一个示例Playbook: ``` - hosts: haproxy become: true tasks: - name: Install HAProxy yum: name: haproxy state: present - name: Configure HAProxy template: src: haproxy.cfg.j2 dest: /etc/haproxy/haproxy.cfg notify: - restart haproxy handlers: - name: restart haproxy service: name: haproxy state: restarted ``` 5. 使用Ansible运行Playbook,开始安装和配置HAProxy使用以下命令执行Playbook: ``` ansible-playbook -i hosts.ini playbook.yml ``` 这将使用`hosts.ini`文件中指定的服务器,并在这些服务器上执行Playbook中定义的任务。 通过以上步骤,你可以使用Ansible轻松地在多台服务器上安装和配置HAProxy。Ansible的优势在于可以批量管理服务器,并且具有简单易用的语法和丰富的模块,使得配置和管理变得更加简单和高效。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值