Linux:haproxy部署--搭建nginx集群

Haproxy介绍

Haproxy是一个开源的高性能的反向代理或者说是负载均衡服务软件之一,它支持双机热备、虚拟主机、基于TCP和HTTP应用代理等功能。
其配置简单,而且拥有很好的对服务器节点的健康检查功能(相当于keepalived健康检查),当其代理的后端服务器出现故障时,
Haproxy会自动的将该故障服务器摘除,当服务器的故障恢复后Haproxy还会自动将RS服务器添加

Haproxy特别使用与那些访问量很大。但又需要会话保持或七层应用的业务。Haproxy运行在普通的服务器硬件上,仅仅进行简单的优化就可以支持数以万计的并发连接。
并且它的运行模式使得它可以很简单安全的整合到各种网站的架构中,同时使得应用服务器不会暴露到网络中。
Haproxy软件引入了frontend,backend的功能,frontend(acl规则匹配)可以运维管理人员根据任意HTTP请求头做规则匹配,
然后把请求定向到相关的backend(server pools等待前端把请求转过来的服务器组)。通过frontend和backup,
我们可以很容易的实现haproxy的7层代理功能,haproxy是一款不可多得的优秀代理服务软件 

Haproxy支持两种主要代理模式:第一个是4层tcp代理(例如:可用于邮件服务内部协议通信服务器、Mysql服务等)。
第二个是7层代理(如HTTP代理)。在4层tcp代理模式下,Haproxy仅在客户端和服务器之间双向转发流量。
但是在7层模式下Haproxy会分析应用层协议,并且能通过运行、拒绝、交换、增加、修改或者删除请求(request)或者回应(reponse)里指定内容来控制协议。 


 环境介绍 

一台centos7作为nginx服务器 192.168.254.1

一台centos7作为nginx服务器 192.168.254.2

一台centos7作为haproxy服务器 192.168.254.3   为两个nginx服务器去实现负载均衡


haproxy部署 

搭建nginx(两台服务器操作一样) 

 nginx:下载icon-default.png?t=N7T8https://nginx.org/en/download.html

去链接即可下载tar.gz归档包

 Linux:haproxy部署--搭建nginx集群_第1张图片

放进Linux里

yum -y install pcre-devel zlib-devel gcc make
tar xfv nginx-*.tar.gz -C /usr/src/
cd /usr/src/nginx-*
useradd -M -s /sbin/nologin nginx
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx &&make &&make install
echo "

server 192.168.254.1

" >/usr/local/nginx/html/index.html 如果是web2 改为192.168.254.2区分开 echo "

server 192.168.254.2

" >/usr/local/nginx/html/index.html
/usr/local/nginx/sbin/nginx   

开启

killall -9 nginx

关闭

Linux:haproxy部署--搭建nginx集群_第2张图片

现在两台nginx服务器就全搭建完了


搭建haproxy

HAProxy - The Reliable, High Perf. TCP/HTTP Load Balancericon-default.png?t=N7T8https://www.haproxy.org/Linux:haproxy部署--搭建nginx集群_第3张图片

我们这里选1.几的版本 

 Linux:haproxy部署--搭建nginx集群_第4张图片

 

yum -y install pcre-devel bzip2-devel gcc-c++
tar xf haproxy-*.tar.gz -C /usr/src/
cd /usr/src/haproxy-*
make TARGET=linux26
make install
mkdir /etc/haproxy
vim /etc/haproxy/haproxy.cfg

写入

global
        log /dev/log local0 info
        log /dev/log local1 notice
        maxconn 4096
        uid 99
        gid 99
        daemon

defaults
        log     global
        mode    http
        option  httplog
        option  dontlognull
        retries 3
        maxconn 2000
        contimeout      5000
        clitimeout      50000
        srvtimeout      50000



listen  webcluster 0.0.0.0:80
        option  httpchk GET /index.html
        balance roundrobin
        server inst1 192.168.254.1:80 check inter 2000 fall 3
        server inst2 192.168.254.2:80 check inter 2000 fall 3
cp /usr/src/haproxy-*/examples/haproxy.init /etc/init.d/haproxy
chmod +x /etc/init.d/haproxy
ln -s /usr/local/sbin/haproxy /usr/sbin/haproxy
/etc/init.d/haproxy start

开启 

/etc/init.d/haproxy restart

重启

/etc/init.d/haproxy stop

关闭

 

刷新一下就可以看到流量怎么被均匀分配了 

你可能感兴趣的:(linux,nginx,运维)