用户工具

站点工具


linux:haproxy

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

后一修订版
前一修订版
linux:haproxy [2016/04/17 20:50] – 创建 memorylinux:haproxy [2023/12/03 10:24] (当前版本) – 外部编辑 127.0.0.1
行 5: 行 5:
 ===== Installation ===== ===== Installation =====
  
 +<code>
 +sudo apt-get install haproxy  # deb
 +sudo yum install haproxy      # rpm
 +</code>
 +
 +===== Configuration =====
 +
 +以下以''ArchLinux''自动生成的配置来说明一下:
 +
 +<code>
 +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/   # 除了指定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
 +</code>
 +
 +====== Reference ======
 +
 +*  [[http://www.haproxy.org/download/1.4/doc/configuration.txt| HAProxy documentation]]
linux/haproxy.1460897429.txt.gz · 最后更改: 2023/12/03 10:24 (外部编辑)