linux:haproxy
这是本文档旧的修订版!
HAProxy
Fast and reliable http reverse proxy and load balancer.
Installation
sudo apt-get install haproxy # deb sudo yum install haproxy # rpm
Configuration
以下以ArchLinux
自动生成的配置来说明一下:
global log 127.0.0.1 local2 # 格式: log <address> <facility> [max level [min level]] chroot /usr/share/haproxy # chroot 到该目录(保障安全) pidfile /run/haproxy.pid maxconn 4000 # 每个haproxy进程最大并发连接数,同ulimit -n user haproxy daemon defaults mode http # 运行在http模式,共有{ tcp, http, health }三种工作模式 log global option httplog # 打印http请求的日志 option dontlognull # 请求为空时不打印日志 option http-server-close # 打开http协议中服务器端关闭功能,使得支持长连接,使得会话可以被重用,使得每一个日志记录都会被记录。 option forwardfor except 127.0.0.0/8 # 除了指定IP外都将请求发往后端 option redispatch # 请求后端服务器失败时重新将请求发往其他的健康服务器(redistribution) retries 3 timeout http-request 10s timeout queue 1m # 请求队列超时时间 timeout connect 10s timeout client 1m timeout server 1m timeout http-keep-alive 10s timeout check 10s # 健康检测的时间的最大超时时间 maxconn 3000 ### # 下面例子为一个简单的反向代理: # 基本模式为frontend分流,将请求导往不同的backend处理 ### frontend main *:5000 acl url_static path_beg -i /static /images /javascript /stylesheets acl url_static path_end -i .jpg .gif .png .css .js use_backend static if url_static # 如果匹配规则符合前面定义的''url_static'',则发往''static'' backend default_backend app # 否则默认发往 ''app'' backend backend static balance roundrobin server static 127.0.0.1:4331 check backend app balance roundrobin server app1 127.0.0.1:5001 check # 后端有四个服务器来负载 server app2 127.0.0.1:5002 check server app3 127.0.0.1:5003 check server app4 127.0.0.1:5004 check
Reference
linux/haproxy.1460898888.txt.gz · 最后更改: 2023/12/03 10:24 (外部编辑)