HAProxy简介

HAProxy是免费、极速且可靠的用于为TCP和基于HTTP应用程序提供高可用、负载均衡和代理服务的解决方案,尤其适用于高负载且需要持久连接或7层处理机制的web站点。HAProxy还可以将后端的服务器与网络隔离,起到保护后端服务器的作用。HAProxy的负载均衡能力虽不如LVS,但也是相当不错,而且由于其工作在7层,可以对http请求报文做深入分析,按照自己的需要将报文转发至后端不同的服务器(例如动静分离),这一点工作在4层的LVS无法完成。

1、安装

# Haproxy版本为1.7.5
wget http://www.haproxy.org/download/1.7/src/haproxy-1.7.5.tar.gz 
tar -zxvf haproxy-1.7.5.tar.gz 
mv haproxy-1.7.5 haproxy

# 编译安装

# ”TARGET”指定编译对应的os对应的内核版本,通过”uname -r”查询内核版本呢,README文件可查询对应关系

uname -r
2.6.32-504.el6.x86_64

cd haproxy
make TARGET=linux2632 PREFIX=/usr/local/haproxy
make install PREFIX=/usr/local/haproxy

ls /usr/local/haproxy/
doc  sbin  share

2、编辑配置文件haproxy.cfg

# 存放haproxy配置文件
mkdir -p /usr/local/haproxy/conf

cat >> /usr/local/haproxy/conf/haproxy.cfg < 
  


3、拷贝所需文件

# errorfile错误文件
cp -R haproxy/examples/errorfiles/ /usr/local/haproxy/
# haproxy日志文件
mkdir -p /usr/local/haproxy/log
touch /usr/local/haproxy/log/haproxy.log
ln -s /usr/local/haproxy/log/haproxy.log /var/log/
# etc中的haproxy文件
mkdir -p /etc/haproxy
ln -s /usr/local/haproxy/conf/haproxy.cfg /etc/haproxy/
# 配置开机自动启动
cp haproxy/examples/haproxy.init /etc/rc.d/init.d/haproxy
chmod +x /etc/rc.d/init.d/haproxy
chkconfig --add haproxy
chkconfig haproxy on
# 设置全局启动文件
ln -s /usr/local/haproxy/sbin/haproxy /usr/sbin/

4、配置rsyslog

haproxy默认没有日志,依靠rsyslog收集日志

# 注意loacl0需要与haproxy.cfg文件中对应
echo -e '$ModLoad imudp \n $UDPServerRun 514 \n local0.* /var/log/haproxy.log' >> /etc/rsyslog.conf
# 重启rsyslog服务
service rsyslog restart