码迷,mamicode.com
首页 > 其他好文 > 详细

企业 - haproxy

时间:2018-03-07 15:08:44      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:HAProxy 应用

                                                          HAProxy

一、HAProxy简介

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

(2)HAProxy 实现了一种事件驱动、单一进程模型,此模型支持非常大的并发连接数。多进程或多线程模型受内存限制 、系统调度器限制以及无处不在的锁限制,很少能处理数千并发连接。事件驱动模型因为在有更好的资源和时间管理的用户端(User-Space) 实现所有这些任务,所以没有这些问题。此模型的弊端是,在多核系统上,这些程序通常扩展性较差。这就是为什么他们必须进行优化以 使每个CPU时间片(Cycle)做更多的工作。

(3)HAProxy 支持连接拒绝 : 因为维护一个连接的打开的开销是很低的,有时我们很需要限制攻击蠕虫(attack bots),也就是说限制它们的连接打开从而限制它们的危害。 这个已经为一个陷于小型DDoS攻击的网站开发了而且已经拯救

了很多站点,这个优点也是其它负载均衡器没有的。

(4)HAProxy 支持全透明代理(已具备硬件防火墙的典型特点): 可以用客户端IP地址或者任何其他地址来连接后端服务器. 这个特性仅在Linux 2.4/2.6内核打了cttproxy补丁后才可以使用. 这个特性也使得为某特殊服务器处理部分流量同时又不修改服务器的地址成为可能。


二、实验

环境

server1    haproxy主机

server2    http服务

server3    http服务


server1

技术分享图片

[root@server1 examples]# yum install -y rpm-build   安装工具,生成rpm安装包

[root@server1 examples]# rpmbuild -bb haproxy.spec   执行出错,说是没有文件

技术分享图片

[root@server1 examples]# cp /root/haproxy-1.6.11.tar.gz /root/rpmbuild/SOURCES/   复制文件到所示路径

再次执行,如下有需要依赖性

技术分享图片

安装完依赖性后,正常执行

技术分享图片


执行完成后,rpm包生成

技术分享图片

[root@server1 x86_64]# rpm -ivh haproxy-1.6.11-1.x86_64.rpm  安装

技术分享图片



查看路径


将配置文件拷贝到如下路径

技术分享图片

[root@server1 haproxy]# mv content-sw-sample.cfg haproxy.cfg   重命名

新建用户

技术分享图片

查看

open files                      (-n) 1024
技术分享图片


技术分享图片

[root@server1 haproxy]# vim haproxy.cfg   修改配置文件

技术分享图片


[root@server1 haproxy]# vim /etc/sysctl.conf   修改参数

技术分享图片

[root@server1 haproxy]# vim /etc/security/limits.conf    修改文件

技术分享图片

查看open files 已改变

技术分享图片


修改配置文件

技术分享图片


技术分享图片

开启服务

技术分享图片

server2,3开启http服务

技术分享图片

技术分享图片

浏览器访问

http://192.168.122.11/admin/stats

技术分享图片

配置日志

[root@server1 haproxy]# vim /etc/rsyslog.conf

技术分享图片


技术分享图片


技术分享图片


[root@server1 haproxy]# /etc/init.d/rsyslog restart   开启服务

[root@server1 haproxy]# tail -f /var/log/haproxy.log   查看日志   刷浏览器出现日志

技术分享图片



[root@server1 haproxy]# vim haproxy.cfg     修改文件


技术分享图片


[root@server1 haproxy]# /etc/init.d/haproxy reload    重新加载

浏览器访问

输入  admin 用户

密码  cara


客户端测试

技术分享图片

当server2的http 服务关掉时

技术分享图片


客户端载此访问时,如下显示



eg1

[root@server1 haproxy]# vim haproxy.cfg 

技术分享图片


[root@server1 haproxy]# /etc/init.d/haproxy reload  加载
客户端测试

eg2

[root@server1 haproxy]# vim haproxy.cfg 

技术分享图片


[root@server1 haproxy]# /etc/init.d/haproxy reload

测试

技术分享图片


[root@server1 haproxy]# yum install -y httpd    安装http服务

[root@server1 haproxy]# vim /etc/httpd/conf/httpd.conf


[root@server1 haproxy]# /etc/init.d/httpd start  开启服务

技术分享图片

编辑页面

[root@server1 html]# cat index.html
<h1>I'am cara</h1>


eg3

修改配置文件

[root@server1 haproxy]# vim haproxy.cfg

技术分享图片

[root@server1 haproxy]# /etc/init.d/haproxy reload   修改完,重新加载

浏览器访问

技术分享图片

eg4

[root@server1 haproxy]# vim haproxy.cfg

技术分享图片

[root@server1 haproxy]# /etc/init.d/haproxy reload

技术分享图片


eg5

server3

[root@server3 ~]# yum install -y php   安装php

技术分享图片

[root@server1 haproxy]# vim haproxy.cfg 

技术分享图片


[root@server1 haproxy]# /etc/init.d/haproxy reload    

浏览器

技术分享图片




[root@server3 html]# mkdir images  创建目录

[root@server1 haproxy]# vim haproxy.cfg

技术分享图片


[root@server1 haproxy]# /etc/init.d/haproxy reload
浏览器

http://192.168.122.11/images/redhat.jpg

技术分享图片




企业 - haproxy

标签:HAProxy 应用

原文地址:http://blog.51cto.com/13362895/2083811

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!