docker中haproxy作为phpcli的负载分发器
docker-compose.yml:----------------------------------------------------------------------------------------
version: '2'
services:
haproxy:
image: haproxy:latest
volumes:
- /path/to/haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg
ports:
- 23456:23456
networks:
- my-load
networks:
my-load:
external: true
------------------------------------------------------------------------------------------
haproxy.cfg: (监听tcp协议)
--------------------------------------------------------------------------------------
global
log 127.0.0.1 local2
defaults
timeout connect 5000ms
timeout client 5000ms
timeout server 5000ms
resolvers docker_dns
nameserver dns "127.0.0.11:53"
timeout retry1s
hold valid 1s
listen tcp_proxy
mode tcp
bind :23456
log global
serverapp_1 phpcli_php_1:23456 check resolvers docker_dns resolve-prefer ipv4
serverapp_2 phpcli_php_2:23456 check resolvers docker_dns resolve-prefer ipv4
serverapp_3 phpcli_php_3:23456 check resolvers docker_dns resolve-prefer ipv4
serverapp_4 phpcli_php_4:23456 check resolvers docker_dns resolve-prefer ipv4
serverapp_5 phpcli_php_5:23456 check resolvers docker_dns resolve-prefer ipv4
serverapp_6 phpcli_php_6:23456 check resolvers docker_dns resolve-prefer ipv4
serverapp_7 phpcli_php_7:23456 check resolvers docker_dns resolve-prefer ipv4
serverapp_8 phpcli_php_8:23456 check resolvers docker_dns resolve-prefer ipv4
serverapp_9 phpcli_php_9:23456 check resolvers docker_dns resolve-prefer ipv4
serverapp_10 phpcli_php_10:23456 check resolvers docker_dns resolve-prefer ipv4
----------------------------------------------------------------------------------------
haproxy.cfg:(http协议)
global
log 127.0.0.1 local2
maxconn 4000
defaults
mode http
timeout http-request 10s
timeout connect 5000ms
timeout client 5000ms
timeout server 5000ms
timeout http-keep-alive 10s
timeout check 10s
maxconn 3000
resolvers docker_dns
nameserver dns "127.0.0.11:53"
timeout retry1s
hold valid 1s
frontend webserver
bind *:80
mode http
log global
default_backend server
backend server
balance roundrobin
serverapp_1 lnmp_openresty_1:80 check resolvers docker_dns resolve-prefer ipv4
serverapp_2 lnmp_openresty_2:80 check resolvers docker_dns resolve-prefer ipv4
serverapp_3 lnmp_openresty_3:80 check resolvers docker_dns resolve-prefer ipv4
serverapp_4 lnmp_openresty_4:80 check resolvers docker_dns resolve-prefer ipv4
serverapp_5 lnmp_openresty_5:80 check resolvers docker_dns resolve-prefer ipv4
------------------------------------------------------------------------------------------
案例,仅供参考!
页:
[1]