HAProxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在时下的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上。
HAproxy 的详细介绍:请点这里
HAproxy 的下载地址:请点这里
推荐阅读:
Haproxy+Keepalived搭建Weblogic高可用负载均衡集群
CentOS 6.3下Haproxy+Keepalived+Apache配置笔记
Haproxy + KeepAlived 实现WEB群集 on CentOS 6
实验环境:centos-6.4
HAproxy:172.16.8.10&&192.168.100.254
node1:192.168.100.1 静态服务器
node2:192.168.100.2 动态服务器
通过前端HAproxy反向代理上游web站点服务器,实现动静分离的效果来提高网站的快速性和安全性!
-----------------------------------------------------------------------------------------
1.现在HAproxy安装和配置前端服务器
[root@haproxy ~]# yum install haproxy
2.安装完毕后查看都生成
[root@haproxy ~]# rpm -ql haproxy
/etc/haproxy
/etc/haproxy/haproxy.cfg
/etc/logrotate.d/haproxy
/etc/rc.d/init.d/haproxy
/usr/bin/halog
/usr/sbin/haproxy
3.编辑HAproxy主配置文件,添加代理到后端的规则
[root@haproxy haproxy]# vim haproxy.cfg
global
log 127.0.0.1 local2
chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid
maxconn 5000 最大连接数
user haproxy 服务使用户
group haproxy 使用的组
daemon 守护进程
# turn on stats unix socket
stats socket /var/lib/haproxy/stats
----------------------------------------------------------------------
上述是全局段,一般不用什么修改。
----------------------------------------------------------------------
defaults
mode http 使用协议
log global 全局日志记录
option httplog 详细记录http日志
option dontlognull 不记录空日志
option http-server-close
option forwardfor except 127.0.0.0/8
option redispatch
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 30000
listen stats 监听的管理后台
mode http 服务模式
bind 172.16.8.10:888 指定ip地址和端口号
stats enable 开启状态页面
stats hide-version 不显示头部信息
stats uri /haproxyadmin?stats 访问的路径
stats realm Haproxy\ Statistics 加密方式
stats auth admin:admin 认证的用户和密码
stats admin if TRUE
frontend http-in 监听的前端服务
bind *:80 端口
mode http
log global
option httpclose
option logasap
option dontlognull
capture request header Host len 20
capture request header Referer len 60
acl url_static path_beg -i /static /images /javascript /stylesheets /css CAL访问规则的动态页面
acl url_static path_end -i .jpg .jpeg .gif .png .js
匹配静态页面
use_backend static_servers if url_static 匹配到的
default_backend dynamic_servers 默认交给那个服务器
backend static_servers 定义后端服务器的静态组
balance roundrobin 算法
server web1 192.168.100.1:80 check maxconn 8000
# server web2 192.168.100.2:80 check maxconn 8000
backend dynamic_servers 定义到后端服务器的动态组
balance source 算法
# server web1 192.168.100.1:80 check maxconn 2000
server web2 192.168.100.2:80 check maxconn 2000
查看HAproxy服务器状态图形管理界面