设为首页 收藏本站
查看: 1221|回复: 0

[经验分享] HAproxy动静分离

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-9-22 09:02:12 | 显示全部楼层 |阅读模式
一:HAproxy
      HAProxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。
      HAProxy特别 适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的 运行模式使得它可以很简单安全的整合进您当前的架构中,同时可以保护你的web服务器不被暴露到网络上。
   HAProxy实现了一种事件驱动,单一进程模型,此模型支持非常大的并发连接数。多进程或多线程模型受内存限制、系统调度器限制以及无处不在的锁限 制,很少能处理数千并发连接。事件驱动模型因为在有更好的资源和时间管理的用户端(User-Space) 实现所有这些任务,所以没有这些问题。此模型的弊端是,在多核系统上,这些程序通常扩展性较差。这就是为什么他们必须进行优化以 使每个CPU时间片(Cycle)做更多的工作。-----百度百科
二:实现HAproxy动静分离
1)试验拓扑图

2)试验环境准备
  S1与S2跟HAproxy服务器在一个网段内,选择vment3.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
1)修改S1
[iyunv@HAproxy ~]# ifconfig eth1 192.168.16.1/24 up   # 给eth1配置ip地址
[iyunv@node0 ~]# ifconfigeth0      Link encap:Ethernet  HWaddr 00:0C:29:B2:AD:BA  
         inet addr:172.16.16.2 Bcast:172.16.255.255  Mask:255.255.0.0
         inet6 addr: fe80::20c:29ff:feb2:adba/64 Scope:Link
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:11122303 errors:0 dropped:0 overruns:0 frame:0
         TX packets:1193136 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000
         RX bytes:697850934 (665.5 MiB)  TX bytes:74549101 (71.0 MiB)eth1      Link encap:Ethernet  HWaddr 00:0C:29:B2:AD:C4  
         inet addr:192.168.1.1  Bcast:192.168.27.255  Mask:255.255.255.0
         inet6 addr: fe80::20c:29ff:feb2:adc4/64 Scope:Link
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:0 errors:0 dropped:0 overruns:0 frame:0
         TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000
         RX bytes:0 (0.0 b)  TX bytes:468 (468.0 b)

2)修改S2         
[iyunv@s1 ~]# ifconfig eth0 192.168.1.2/24 up在s1设置好相关配置,选择虚拟机上的VMnet3与haproxy上的eth1的同一通信通道,再配置IP地址和默认网关接口,而后再提供不同的页面以便测试用;
[iyunv@s1 ~]# route add defaulte gw 192.168.27.18  # 网关指向haproxy主机的eth1地址
[iyunv@s1 ~]# ping 192.168.27.10  # ping一下haproxy的节点看是否ping通
[iyunv@s1 ~]# vim /var/www/html/index.html
[iyunv@s1 ~]# service httpd start # 配置好之后就把web服务启动起来,再访问测试一下,测试的连接改为桥接方式 
[iyunv@s2 ~]# ifconfig eth0 192.168.1.16/24 up
[iyunv@s2 ~]# route add defaulte gw 192.168.27.18  # 网关指向haproxy主机的eth1地址
[iyunv@s2 ~]# ping 192.168.27.10  # ping一下haproxy的节点看是否ping通
[iyunv@s2 ~]# vim /var/www/html/index.php
   
hello word
         phpinfo();
     ?>
[iyunv@s2 ~]# service httpd start # 配置好之后就把web服务启动起来,再访问测试一下,测试的连接改为桥接方式

3)修改haproxy配置文件
[iyunv@HAproxy haproxy]# vim haproxy.cfg
frontend main
    bind :80
   # default_backend webservers
    acl url_static path_end -i .css .js .html
    acl url_dynamic path_end -i .php
    use_backend static if url_static
    default_backend dynamic
backend static
   # balance roundrobin
   # cookie webservers insert nocache
    server s1 192.168.1.2:80 check inter 3000 rise 2 fall 2 maxconn 5000
backend dynamic
    server s2 192.168.1.16:80 check inter 3000 rise 2 fall 2 maxconn 5000
listen statspage
    bind *:8888
    stats enable
    stats hide-version
    stats uri /admin?stats
    stats auth llh:mageedu
    stats admin if TRUE



三:启动HAproxy进行测试

1) service haproxy start
2)登录我们的配置页面

3)测试动静网页是否分离

访问静态网页

看静态网页为我们设置的www.helloword.com

4)访问动态网页

看动态网页为我们设置的hello Word 服务器

OK 我们的动静分离已经实现了.


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-25114-1-1.html 上篇帖子: proxychains安装和配置 下篇帖子: haproxy的使用及配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表