Haproxy搭建web群集

Haproxy

        LVS不支持正则处理,不能实现动静分离
        对于大型网站,LVS的实施配置复杂,维护成本相对较高

Haproxy是一款额提供高可用性负载均衡、即基于TCP和HTTP应用的代理的软件

        适用于负载大的文本站点
        运行在硬件上可支持数以万计的并发连接的连接请求

支持的调度算法

        轮询调度算法 (RR)

        最小连接算法 (LC)

        基于来源访问调度算法 (SH)

      

实验

         1.修改主机名

hostnamectl set-hostname haproxy
hostnamectl set-hostname web01
hostnamectl set-hostname web02

         2.在web节点安装nginx

yum -y install pcre-devel zlib-devel gcc++ gcc
useradd -M -s /sbin/nologin nginx
tar zxf nginx-1.12.0.tar.gz -C /usr/src/
cd /usr/src/nginx-1.12.0/
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module
make && make install
/usr/local/nginx/sbin/nginx 
ss -nlpt | grep 80
echo 'this is web01' > /usr/local/nginx/html/index.html

        3.上传haproxy到haproxy节点

        4. 安装haproxy所需依赖软件包

yum -y install pcre-devel bzip2-devel gcc-c++
tar zxf haproxy-1.5.19.tar.gz
ls
cd haproxy-1.5.19
make TARGET=linux2628
make install

        5.准备配置文件

                1.模板文件

                2.添加信息

mkdir /etc/haproxy
vi /etc/haproxy/haproxy.cfg
global
	log 127.0.0.1	local3
	log 127.0.0.1	local1 notice
	#log loghost	local0 info
	maxconn 4096
	#chroot /usr/share/haproxy
	uid 99
	gid 99
	daemon
	#debug
	#quiet

defaults
	log	global
	mode	http
	option	httplog
	option	dontlognull
	retries	3
	redispatch
	maxconn	2000
	contimeout	5000   # 这个已经弃用新版本使用timeout connect
	clitimeout	50000  # 这个已经弃用新版本使用timeout client
	srvtimeout	50000  # 这个已经弃用新版本使用timeout server

listen	web 0.0.0.0:80
	option httpchk GET /index.html
	balance	roundrobin
	server	web01 192.168.27.129:80 check inter 2000 fall 5
	server	web02 192.168.27.130:80 check inter 2000 fall 5

        6.启动服务

                1.拷贝ctl管理文件

cp haproxy-1.5.19/examples/haproxy.init /etc/init.d/haproxy
#给予执行权限
chmod +x /etc/init.d/haproxy

#添加为系统服务
chkconfig --add /etc/init.d/haproxy 
#软连接
ln -s /usr/local/sbin/haproxy /usr/sbin/

                日志存放位置               

                开启udp日志转发

# 开启 UDP 日志协议转发
sed -i 's/#$ModLoad imudp/$ModLoad imudp/g' /etc/rsyslog.conf
sed -i 's/#$UDPServerRun 514/$UDPServerRun 514/g' /etc/rsyslog.conf

                打开rcslog日志,配置日志信息

vi /etc/rsyslog.conf

                重启日志文件

systemctl restart rsyslog
#文件未生效,重启服务
systemctl restart haproxy

 

LVS和haproxy和nginx的对比分析
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值