通过HAProxy实现动静分离

Linux大全评论762 views阅读模式

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

HAproxy 的详细介绍:请点这里
HAproxy 的下载地址:请点这里

推荐阅读:

Haproxy+Keepalived搭建Weblogic高可用负载均衡集群 http://www.linuxidc.com/Linux/2013-09/89732.htm

Keepalived+HAProxy配置高可用负载均衡 http://www.linuxidc.com/Linux/2012-03/56748.htm

CentOS 6.3下Haproxy+Keepalived+Apache配置笔记 http://www.linuxidc.com/Linux/2013-06/85598.htm

Haproxy + KeepAlived 实现WEB群集 on CentOS 6 http://www.linuxidc.com/Linux/2012-03/55672.htm

Haproxy+Keepalived构建高可用负载均衡 http://www.linuxidc.com/Linux/2012-03/55880.htm

实验环境: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服务器状态图形管理界面

企鹅博客
  • 本文由 发表于 2019年9月7日 10:26:25
  • 转载请务必保留本文链接:https://www.qieseo.com/159554.html

发表评论