HAProxy

本文介绍HAProxy的安装过程、配置方法及启动测试步骤。HAProxy是一款免费且高性能的负载均衡软件,支持高并发连接,并能实现基于TCP和HTTP应用的代理服务。文章详细展示了如何在Linux环境下进行HAProxy的安装配置,包括设置最大连接数、定义监听端口等关键操作。

基本信息

0什么是HAProxy

  HAProxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代 理,支持 虚拟主机 ,它是免费、快速并且可靠的一种解决方案。HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上。

1安装HAProxy

  tar zxvf haproxy-1.4.8.tar.gz
  cd haproxy-1.4.8
  uname -a //查看linux内核版本
  make TARGET=linux26 PREFIX=/usr/local/haproxy
  make install PREFIX=/usr/local/haproxy

2配置HAProxy

   vi /usr/local/haproxy/haproxy.cfg
  global
  maxconn 5120
  chroot /usr/local/haproxy
  uid 99
  gid 99
  daemon
  quiet
  nbproc 2
  pidfile /usr/local/haproxy/haproxy.pid
  defaults
  log global
  mode http
  option httplog
  option dontlognull
  log  127.0.0.1 local3
  retries 3
  option redispatch
  maxconn 2000
  contimeout 5000
  clitimeout 50000
  srvtimeout 50000
  listen webinfo :1080
  mode http
  balance roundrobin
  option httpclose
  option forwardfor
  server phpinfo1 192.168.18.2:10000 check weight 1 minconn 1 maxconn 3 check inter 40000
  server phpinfo2 127.0.0.1:80 check weight 1 minconn 1 maxconn 3 check inter 40000
  listen webmb :1081
  mode http
  balance roundrobin
  option httpclose
  option forwardfor
  server webmb1 192.168.1.91:10000 weight 1 minconn 1 maxconn 3 check inter 40000
  server webmb2 127.0.0.1:10000 weight 1 minconn 1 maxconn 3 check inter 40000
  listen stats :8888
  mode http
  transparent
  stats uri / haproxy-stats
  stats realm Haproxy \ statistic
  stats auth zhangy:xtajmd

3启动HAProxy

  #启动haproxy
  /usr/local/haproxy/haproxy -f /usr/local/haproxy/haproxy.cfg
  #查看是否启动
  [zhangy@BlackGhost haproxy]$ ps -e|grep haproxy
  4859 ? 00:00:00 haproxy
  4860 ? 00:00:00 haproxy

4测试

  [root@BlackGhost haproxy]# /usr/local/bin/webbench -c 100 -t 30 http://localhost:1080/phpinfo.php

5说明

   HAProxy监听的端口是1080,代理192.168.18.2:10000,127.0.0.1:10000

  统计监听的是8888端口 http://localhost:8888/haproxy-stats

转载地址:http://blog.youkuaiyun.com/qiume/article/details/7274603

06-05
### HAProxy 配置使用指南 HAProxy 是一个高性能的 TCP/HTTP 负载均衡器,能够帮助用户实现高可用性和负载分发。以下是关于 HAProxy 的配置和使用指南。 #### 1. 基本配置文件结构 HAProxy 的配置文件通常位于 `/etc/haproxy/haproxy.cfg`,其结构分为多个部分,每个部分都有特定的功能[^1]: - **global**: 全局配置,定义日志、用户权限等。 - **defaults**: 默认设置,应用于所有前端和后端,除非被覆盖。 - **frontend**: 定义监听的 IP 和端口,以及请求匹配规则。 - **backend**: 定义后端服务器池,指定如何分发流量。 - **listen**: 同时包含 frontend 和 backend 的功能,适合简单的场景。 以下是一个典型的 HAProxy 配置示例: ```plaintext global log /dev/log local0 log /dev/log local1 notice chroot /var/lib/haproxy stats socket /run/haproxy/admin.sock mode 660 level admin expose-fd listeners stats timeout 30s user haproxy group haproxy daemon defaults log global mode http option httplog option dontlognull retries 3 timeout connect 5000ms timeout client 50000ms timeout server 50000ms frontend http_front bind *:80 default_backend http_back backend http_back balance roundrobin server web1 192.168.1.10:80 check server web2 192.168.1.11:80 check ``` #### 2. 配置项详解 - **global**: 定义全局参数,如日志路径、运行用户等。 - **defaults**: 设置默认行为,例如超时时间、重试次数等。 - **frontend**: 定义监听的端口和流量匹配规则。`bind *:80` 表示监听所有 IP 的 80 端口。 - **backend**: 定义后端服务器池,`balance roundrobin` 表示使用轮询算法分发流量[^1]。 #### 3. 测试配置文件 在修改配置文件后,可以通过以下命令测试配置文件是否正确: ```bash haproxy -c -f /etc/haproxy/haproxy.cfg ``` 如果配置无误,将显示 `Configuration file is valid`。 #### 4. 启动和重启服务 启动或重启 HAProxy 服务可以使用以下命令: ```bash systemctl start haproxy systemctl restart haproxy ``` #### 5. 高可用集群配置 为了实现高可用性,可以结合 Keepalived 使用。通过 Keepalived 提供虚拟 IP (VIP),确保主备切换时流量不会中断[^2]。以下是 Keepalived 的基本配置示例: ```plaintext vrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 51 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 1234 } virtual_ipaddress { 192.168.1.100 } } ``` #### 6. Kubernetes 中的 HAProxy Ingress 在 Kubernetes 环境中,可以通过 ConfigMap 自定义 HAProxy Ingress 的行为[^4]。以下是一个 ConfigMap 示例: ```yaml apiVersion: v1 kind: ConfigMap metadata: name: haproxy-ingress-config data: global: | log /dev/log local0 chroot /var/lib/haproxy user haproxy group haproxy daemon defaults: | mode http timeout connect 5s timeout client 50s timeout server 50s ``` #### 7. 测试 HAProxy 是否正常工作 可以通过访问 HAProxy 的 VIP 地址来测试其是否正常工作。例如,使用 `curl` 命令发送 HTTP 请求: ```bash curl http://192.168.0.100 ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值