一、安装
1、下载安装包并上传
https://src.fedoraproject.org/repo/pkgs/haproxy/
打开后选择要下载的版本进行下载,这里下载的是haproxy-1.8.13.tar.gz
rz命令上传到服务器中
2、解压并编译安装
tar xzvf haproxy-1.8.13.tar.gz
cd haproxy-1.8.13/
make TARGET=linux31 //这里用uname -r查看系统内核版本。centos6.x使用linux26,centos7.x使用linux31
make install PREFIX=/usr/local/haproxy
mkdir /usr/local/haproxy/conf
cp examples/option-http_proxy.cfg /usr/local/haproxy/conf/haproxy.cfg
3、启动
/usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/conf/haproxy.cfg
若想开机自启,将以上命令行添加到/etc/rc.local中即可
启动时报错:
[ALERT] 119/154443 (8656) : Starting frontend test-proxy: cannot bind socket [192.168.200.10:8080]
原因:模板的配置文件中配置了监听地址,即bind参数,而此时我们并没有这台服务器
vim /etc/sysctl.conf
net.ipv4.ip_nonlocal_bind = 1 //启动haproxy的时候忽略real-server的存在
另外,haproxy需要打开路由转发功能,即net.ipv4.ip_forward = 1
[WARNING] 119/155102 (8735) : [./sbin/haproxy.main()] FD limit (16384) too low for maxconn=20000/maxsock=40011. Please raise 'ulimit-n' to 40011 or more to avoid any trouble.
这个是警告,可以暂时不管
它提示的是haproxy配置文件中的ulimit -n参数值较maxconn和maxsock参数值较低,改到40011或更高。
ulimit -n表示的是每个haproxy进程打开的最大文件数
maxconn表示每个进程的最大连接数
可以到配置文件中将其修改一下
4、查看是否启动成功
netstat -anpl |grep haproxy
二、配置文件详解
Haproxy的配置文件由5部分组成,并不都是必须的,根据自己的需要进行配置
global :全局配置
defaults :默认参数的配置部分。自动被引用到 frontend、backend 和 listen 部分,因此一般用来配置上述三部分相同的参数。如果和上述三部分重复,defaults内会被自动覆盖
frontend :用于设置接收用户请求的前端虚拟节点,根据 ACL 规则直接指定要使用的后端server。
backend :用于设置集群后端服务集群,也就是一组真实服务器。
listen:此部分是 frontend 部分和 backend 部分的结合体。在 HAProxy1.3 版本之前,所有配置选项都在这个部分中设置。为了保持兼容性,HAProxy 新的版本仍然保留了 listen 组件的配置方式。目前在 HAProxy 中,两种配置方式任选其一即可。
具体参数详解:
配置项 |