[负载均衡]haproxy
来源:互联网 发布:java调用wsdl 编辑:程序博客网 时间:2024/06/09 17:25
这东西非常强大..配置语法跟之前tengine的类似.
1.健康检查的例子:
主要是使用check关键字:
## demo config for Proxy mode#global maxconn 20000# ulimit-n 20000 # ulimit-n 16384 log 127.0.0.1 local0 # log /tmp/haproxy.log uid 200 gid 200# chroot /var/empty nbproc 4 daemonfrontend test-proxy bind 0.0.0.0:81 # bind 192.168.200.10:8080 mode http log global option httplog option dontlognull option nolinger option http_proxy maxconn 8000 timeout client 30s # layer3: Valid users# acl allow_host src 192.168.200.150/32# http-request deny if !allow_host # layer7: prevent private network relaying# acl forbidden_dst url_ip 192.168.0.0/24# acl forbidden_dst url_ip 172.16.0.0/12# acl forbidden_dst url_ip 10.0.0.0/8# http-request deny if forbidden_dst default_backend test-proxy-srvbackend test-proxy-srv mode http timeout connect 5s timeout server 5s retries 2# option nolinger option http_proxy # layer7: Only GET method is valid acl valid_method method GET http-request deny if !valid_method # layer7: protect bad reply # http-response deny if { res.hdr(content-type) audio/mp3 } balance roundrobin #负载均衡的方式,roundrobin平均方式# cookie SERVERID #允许插入serverid到cookie中,serverid后面可以定义#心跳检测的URL,HTTP/1.1¥r¥nHost:XXXX,指定了心跳检测HTTP的版本,XXX为检测时请求#服务器的request中的域名是什么,这个在应用的检测URL对应的功能有对域名依赖的话需要设置 option httpchk GET / HTTP/1.0 #服务器定义,cookie 1表示serverid为1,check inter 1500 是检测心跳频率 #rise 3是3次正确认为服务器可用,fall 3是3次失败认为服务器不可用,weight代表权重 server mms1 127.0.0.1:6000 cookie 1 check inter 3000 rise 3 fall 3 weight 1 server mms2 127.0.0.1:6001 cookie 2 check inter 3000 rise 3 fall 3 weight 2
关于haproxy其实还是不太理解,可以从简单的着手。
2.配置一个简单的本地代理
可以写成这样,一个frontend+一个backend:
# Simple configuration for an HTTP proxy listening on port 80 on all # interfaces and forwarding requests to a single backend "servers" with a # single server "server1" listening on 127.0.0.1:8000 global daemon maxconn 256 defaults mode http timeout connect 5000ms timeout client 50000ms timeout server 50000ms frontend http-in bind *:81 default_backend servers backend servers server server1 127.0.0.1:80 maxconn 32
也可以写成单独的listen:
# The same configuration defined with a single listen block. Shorter but # less expressive, especially in HTTP mode. global daemon maxconn 256 defaults mode http timeout connect 5000ms timeout client 50000ms timeout server 50000ms listen http-in bind *:81 server server1 127.0.0.1:80 maxconn 32
3.日志记录
这里还缺了一个很关键的日志记录,日志需要和syslog软件相结合。
需要配置一下rsyslog:
$ModLoad imudp$UDPServerRun 514local1.* /var/log/haproxy.log
然后在代码中配置相关内容即可:
# Simple configuration for an HTTP proxy listening on port 80 on all # interfaces and forwarding requests to a single backend "servers" with a # single server "server1" listening on 127.0.0.1:8000 global daemon maxconn 256 log 127.0.0.1 local1 defaults log global mode http timeout connect 5000ms timeout client 50000ms timeout server 50000ms option httplog frontend http-in bind *:81 default_backend servers backend servers server server1 127.0.0.1:80 maxconn 32
4.配置statistics
listen stats bind *:82 mode http stats enable stats hide-version stats realm Haproxy\ Statistics stats uri / stats auth admin:Qq123456
haproxy提供一个很方便的monitor界面,比nginx_status好看多了.内容也丰富很多.很直观.
0 0
- Haproxy+KeepAlived 负载均衡
- 负载均衡(haproxy+keepalive)
- haproxy负载均衡配置
- Haproxy+KeepAlived 负载均衡
- HAProxy MySQL负载均衡
- haproxy + redis 负载均衡
- Keepalived+HAproxy负载均衡
- Haproxy+KeepAlived 负载均衡
- haproxy安装.负载均衡
- Haproxy负载均衡算法
- Thrift+Haproxy负载均衡
- [负载均衡]haproxy
- 均衡负载haproxy
- HAProxy负载均衡
- HAProxy+nginx 负载均衡
- haproxy 实现负载均衡
- 【负载均衡】openstack负载均衡之haproxy
- HAproxy---Web负载均衡解决方案 HAproxy
- Sphinx的基础知识以及安装
- 【多线程】简单的线程和定时器
- js之无缝轮播
- 网络工程1.10——七层模型之四传输层
- 【多线程】锁
- [负载均衡]haproxy
- linux操作系统下oracle的启动和停止
- 自定义发送验证码按钮(没有实现发送验证码业务 只有UI效果)
- 初学者:C51的延时函数的编写及工程创建
- C++ AMP
- 我在光大银行的日子
- 合并两个vector
- c++优先队列的基本使用方法
- 华为OJ 合唱队