1 下载最新的版本的haproxy(最新版本为1.8),此链接需要×××才能打开
下载链接为:http://www.haproxy.org/download/1.8/src/
简介
目前正在维护的版本有 1.4 1.5 1.6 1.7的 和正在测试的1.8版本。haproxy与keepalived一样,重CentOS6.4以后开始被收录到base仓库,随系统反向光盘直接提供,由此,我们可以看到他的市场占有率和被大众接受的程度,同时,他的可靠性也足以被验证;haproxy是随base仓库提供的,但nginx没有,还属于epel仓库才有。也就意味着,我们将来要配置使用haproxy要比使用nginx还要容易一些。至少从来源方面来说如此;
2 源码安装
2.1 安装依赖的软件包
yum -y install gcc systemd-devel
2.2 解压源码包
tar zxvf haproxy-1.8.0.tar.gz
cd haproxy-1.8.0/
2.3 注意点
如果不安装system-devel软件包的话,进行make编译的时候,报如下错误
2.4 编译安装
make TARGET=linux3100 USE_PCRE=1 USE_OPENSSL=1 USE_ZLIB=1 USE_SYSTEMD=1
TARGET=linux3100,这个值是根据系统当前版本而定,uname -r查询当前内核的版本
将haproxy安装到/usr/local/haproxy目录
make install PREFIX=/usr/local/haproxy
2.5 将haproxy命令复制到/usr/sbin目录下
cp -rf /usr/local/haproxy/sbin/haproxy /usr/sbin/
查看haproxy的版本为1.8
3 配置haproxy的配置文件
3.1 定义一个haproxy.cfg的文件
mkdir /etc/haproxy
vim /etc/haproxy/haproxy.cfg
global
log 127.0.0.1 local2
maxconn 65536
chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid
user haproxy
group haproxy
daemon
defaults
log global
option dontlognull
retries 3
option redispatch
maxconn 65536
timeout connect 70000
timeout client 70000
timeout server 70000
listen admin_stats
bind 192.168.24.148:48800
stats uri /admin-status
stats auth admin:admin
mode http
option httplog
listen test1
bind 192.168.24.148:3307
mode tcp
balance roundrobin
server dev-haproxy00.cz 192.168.24.148:3306 check port 3306 inter 5s rise 2 fall 3
3.2 定义服务的配置文件
3.2.1 vim /lib/systemd/system/haproxy.service
[Unit]
Description=HAProxy Load Balancer
After=syslog.target network.target
[Service]
ExecStartPre=/usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg -c -q
ExecStart=/usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid
ExecReload=/bin/kill -USR2 $MAINPID
[Install]
WantedBy=multi-user.target
3.2.2 执行daemon-reload
systemctl daemon-reload
3.2.3 查看haprox的状态
systemctl status haproxy
3.2.4 启动haproxy
systemctl start haproxy
3.2.5 加入开机启动
4 负载httpd
4.1 定义配置文件
vim /etc/haproxy/haproxy.cfg
global
log 127.0.0.1 local2
maxconn 65536
chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid
user haproxy
group haproxy
daemon
defaults
log global
option dontlognull
retries 3
option redispatch
maxconn 65536
timeout connect 70000
timeout client 70000
timeout server 70000
listen admin_stats
bind 192.168.24.148:48800
stats uri /admin-status
stats auth admin:admin
mode http
option httplog
frontend web
bind 0.0.0.0:80
default_backend webser
backend webser
balance roundrobin
server web1 192.168.26.130:80 check port 80 inter 5s rise 2 fall 3
server web2 192.168.26.131:80 check port 80 inter 5s rise 2 fall 3
4.2 配置后端的两台web服务器
分别在192.168.26.130和192.168.26.131配置
192.168.26.130
yum -y install httpd
vim /var/www/html/index.html
<html> Backend Server: 192.168.26.130</html>
192.168.26.131
yum -y install httpd
vim /var/www/html/index.html
<html> Backend Server: 192.168.26.131</html>
4.3 查看haproxy的监控页面
4.4 进行验证是否负载均衡
可以看到是轮询的进行负载的
5 常用命令
5.1 haproxy -c -f 检测配置语法
haproxy -c -f /etc/haproxy/haproxy.cfg
5.2 haproxy -D -f config.cfg 启动 守护进程
hproxy -D -f config.cfg -p $PIDFILE -sf $(cat $PIDFILE)
转载于:https://blog.51cto.com/focuslinux/2051153