HAProxy的代表高可用性代理。 它是一个用C编程语言编写的自由和开源应用程序。 HAProxy应用程序用作TCP / HTTP负载均衡器和代理解决方案。 HAProxy应用程序最常见的用途是在多个服务器(例如,Web服务器,数据库服务器等)上分布工作负载,从而提高服务器环境的整体性能和可靠性。
高效,快速的应用程序被许多世界知名的组织使用,包括但不限于 - Twitter,Reddit,GitHub和亚马逊。 它可用于Linux,BSD,Solaris和AIX平台。
在Linux中安装HAProxy负载均衡器
在本教程中,我们将讨论使用HAProxy的通过分离跨多个服务器的请求来控制基于HTTP的应用程序(Web服务器)的流量建立一个高可用性的负载均衡的过程。
在这篇文章中,我们使用HAProxy的IE版本1.5.10 12月31日2014年而且我们正在使用的CentOS 6.5此设置发布了最新的稳定版本,但是下面给出的说明也适用在CentOS / RHEL / Fedora和Ubuntu / Debian发行版。
我的环境设置
这里有主机名websrv.youcllocal.com IP地址为192.168.0.125我们的负载均衡服务器HAProxy的。
HAProxy服务器设置
Operating System : CentOS 6.5 IP Address : 192.168.0.125 Hostname : websrv.youcllocal.com
客户端Web服务器设置
其他四台机器启动并运行与Web服务器,如Apache。
Web Server #1 : CentOS 6.5 [IP: 192.168.0.121] - [hostname: web1srv.youcllocal.com] Web Server #2 : CentOS 6.5 [IP: 192.168.0.122] - [hostname: web2srv.youcllocal.com] Web Server #3 : CentOS 6.5 [IP: 192.168.0.123] - [hostname: web3srv.youcllocal.com] Web Server #4 : CentOS 6.5 [IP: 192.168.0.124] - [hostname: web4srv.youcllocal.com]
第1步:在客户端计算机上安装Apache
1.首先,我们必须在所有四个服务器的安装Apache和共享网站中的任何一个,在所有四个服务器中安装Apache的在这里我们将要使用下面的命令。
# yum install httpd [On RedHat based Systems] # apt-get install apache2 [On Debian based Systems]
2.安装在所有四个客户机的Apache Web服务器后,您可以验证是否Apache是通过IP地址,浏览器访问它运行的服务器的任何人。
http://192.168.0.121
检查Apache状态
第2步:安装HAProxy Server
3.在大多数今天的现代的Linux发行版,HAProxy的可以很容易地使用默认的包管理的yum或apt-get的默认基础信息库安装。
例如,要在RHEL / CentOS / Fedora和Debian / Ubuntu版本上安装HAProxy,请运行以下命令。 在这里,我已经包括OpenSSL软件包也是如此,因为我们要建立与HAProxy的SSL和非SSL支持。
# yum install haproxy openssl-devel [On RedHat based Systems] # apt-get install haproxy [On Debian based Systems]
注 :在Debian Whezzy 7.0,我们需要通过添加一个新的文件,以使backports中的库backports.list “/etc/apt/sources.list.d/”目录下包含以下内容。
# echo "deb http://cdn.debian.net/debian wheezy-backports main" >> /etc/apt/sources.list.d/backports.list
接下来,更新存储库数据库并安装HAProxy。
# apt-get update # apt-get install haproxy -t wheezy-backports
第3步:配置HAProxy日志
4.接下来,我们需要启用日志记录功能在HAProxy的为未来的调试。 您选择的编辑器打开主HAProxy的配置文件“/etc/haproxy/haproxy.cfg”。
# vim /etc/haproxy/haproxy.cfg
接下来,按照特定于发行版的说明在HAProxy中配置日志记录功能。
在RHEL / CentOS / Fedora上
在#Global设置 ,启用以下行。
log 127.0.0.1 local2
在Ubuntu / Debian
在#Global设置 ,替换以下行,
log /dev/log local0 log /dev/log local1 notice
与,
log 127.0.0.1 local2
启用HAProxy日志记录
5.接下来,我们需要启用“/etc/rsyslog.conf”配置文件系统日志的UDP接待分离在/ var日志文件HAProxy的/ log目录中 。 您选择的编辑器打开你的'rsyslog.conf'文件。
# vim /etc/rsyslog.conf
Uncommnet ModLoad和UDPServerRun,这里,我们的服务器会监听端口514到日志收集到系统日志。
# Provides UDP syslog reception $ModLoad imudp $UDPServerRun 514
配置HAProxy日志记录
6.接下来,我们需要创建“/etc/rsyslog.d/”目录下的一个单独的文件“haproxy.conf”配置单独的日志文件。
# vim /etc/rsyslog.d/haproxy.conf
将以下行追加到新创建的文件。
local2.* /var/log/haproxy.log
HAProxy日志
最后,重新启动rsyslog服务以更新新的更改。
# service rsyslog restart