docker部署haproxy

20 篇文章 1 订阅

mkdir -p /home/cpic/zyj/haproxy

cd /home/cpic/zyj/haproxy

在当前目录下新建haproxy.cfg

vim haproxy.cfg

内容如下:

global
  log     127.0.0.1 local2
  chroot   /usr/local/etc/haproxy  #锁定运行目录
  pidfile   /var/run/haproxy.pid
  maxconn   4000           #每个haproxy进程的最大并发连接数,要考虑到ulimit -n的大小限制
  user    root           #运行haproxy的用户
  group    root           #运行haproxy的用户组
  daemon
  nbproc 2         #开启的haproxy进程数,与CPU保持一致
  #nbthread 4       #指定每个haproxy进程开启的线程数,默认为每个进程一个线程
  #cpu-map 1 0       #绑定haproxy 进程至指定CPU
  #cpu-map 2 1
  #cpu-map 3 2
  #cpu-map 4 3
  #maxsslconn 100000    #SSL每个haproxy进程ssl最大连接数
  maxconnrate 100000    #每个进程每秒最大连接数
  spread-checks 3      #后端server状态check随机提前或延迟百分比时间,建议2-5(20%-50%)之间

defaults
  mode          tcp   #默认的模式mode { tcp|http|health },tcp是4层,http是7层,health只会返回OK
  log           global
  retries         3
  timeout connect     10s  #连接超时
  timeout client     1m   #客户端超时
  timeout server     1m   #服务器超时

########统计页面配置######## 
listen admin_status 
  bind 0.0.0.0:9999        #监听端口 
  mode http            #http的7层模式 
  option httplog          #采用http日志格式 
  #log 127.0.0.1 local0 err 
  maxconn 10 
  stats refresh 30s        #统计页面自动刷新时间 
  stats uri /status        #统计页面url 
  stats realm Haproxy \ statistic #统计页面密码框上提示文本 
  stats auth admin:HA@2020     #统计页面用户名和密码设置 
  stats hide-version        #隐藏统计页面上HAProxy的版本信息 

frontend main
  bind *:5000 # 指定前端端口
  mode tcp
  default_backend master

backend master # 指定后端机器及端口,负载方式为轮询
  balance roundrobin
  mode tcp
  server mycat_201 192.168.1.201:8066 check weight 1 maxconn 2000 check inter 2000 rise 2 fall 3
  server mycat_46 192.168.10.46:8066 check weight 1 maxconn 2000 check inter 2000 rise 2 fall 3

 

192.168.1.201:8066和192.168.10.46:8066是我部署的mycat服务。haproxy和mycat之间通过tcp通信,所以mode配置的tcp。

之所以新建haproxy.cfg文件,是因为docker部署的haproxy容器没有默认的配置文件,直接启动的话会报错。

docker pull haproxy:2.1

docker run -d --name haproxy -p 5000:5000 -p 9999:9999 -v /home/cpic/zyj/haproxy:/usr/local/etc/haproxy  haproxy:2.1

5000和9999这两个端口都是在haproxy.cfg文件里配置的。

通过docker logs -f haproxy看看服务是否成功启动了。

使用Navicat for mysql建立连接,地址用haproxy所在宿主服务器的ip地址,端口用5000。用户名和密码使用mycat的即可。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值