使用Haproxy搭建Web群集(内附源码包)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Haproxy搭建Web群集(内附源码包)相关的知识,希望对你有一定的参考价值。
Haproxy简介:
haproxy提供高可用性、负载均衡以及基于TCP(第四层)和HTTP(第七层)应用的代理,支持虚拟主机;
haproxy特别适用于那些负载特别大的web站点,这些站点通常又需要会话保持或七层处理。haproxy运行在时下的硬件上,完全可以支持数以万计的并发连接,并且它的运行模式使得它可以很简单安全的整合进您当前的架构中,同时可以保护你的web服务器不被暴露到网络上。
haproxy实现了一种事件驱动、单一进程模型,此模型支持非常大的并发连接数。多进程或多线程模型受内存限制、系统调度器限制以及无处不在的锁限制,很少能处理数千并发连接。
haproxy的优点:
a、免费开源,稳定性也是非常好
b、haproxy可以跑满10Gbps
c、haproxy支持连接拒绝,为一个陷于小型DDoS×××的网站开发了而且已经拯救了很多站点,这个优点也是其它负载均衡器没有的
d、haproxy支持全透明代理(已具备硬件防火墙的典型特点)
e、haproxy现多于线上的mysql集群环境,我们常用于它作为MySQL(读)负载均衡
f、自带强大的监控服务器状态的页面,实际环境中我们结合Nagios进行邮件或短信报警
实验拓扑:
实验环境:
主机 | 操作系统 | IP地址 | 主要软件 |
---|---|---|---|
Haproxy | CentOS 7.0 x86_64 | 192.168.37.131 | haproxy-1.5.19.tar.gz |
web1节点服务器 | CentOS 7.0 x86_64 | 192.168.37.128 | nginx-1.12.0.tar.gz |
web2节点服务器 | CentOS 7.0 x86_64 | 192.168.37.130 | nginx-1.12.0.tar.gz |
客户端 | Windows 7 | 192.168.37.100 | 无 |
软件包共享:
haproxy https://pan.baidu.com/s/1o6266kAIwcaVxjKdCNZNQw 密码:vxxz
nginx https://pan.baidu.com/s/13G9Mc3uX5dgYMYh4RflcWQ 密码:vtkv
实验过程:
一、web节点服务器搭建
1、安装环境包
[[email protected] ~]# yum install -y pcre-devel zlib-devel gcc gcc-c++
2、创建管理用户
[[email protected] ~]#useradd -M -s /sbin/nologin nginx
3、解压缩nginx包
[[email protected] ~]#mkdir /opt/abc
[[email protected] ~]#mount.cifs //192.168.37.1/SHARE /opt/abc
[[email protected] ~]#tar zxvf /opt/abc/nginx-1.12.0.tar.gz -C /opt/
4、配置安装
[[email protected] ~]#cd /opt/nginx-1.12.0
./configure --prefix=/usr/local/nginx #安装目录
--user=nginx #用户
--group=nginx #组
[[email protected] ~]#make && make install
5、设置nginx首页内容,加以区分两台节点服务器,一台为web1,另一台为web2
6、建立软链接,便于管理
[[email protected] ~]#ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
7、开启服务,关闭防火墙及安全功能
[[email protected] ~]#nginx
[[email protected] ~]#systemctl stop firewalld.service
[[email protected] ~]#setenforce 0
另一台web2节点服务器设置步骤同上,只需在首页显示上加以区分
8、测试:
二、Haproxy服务器
1、安装环境包
[[email protected] ~]#yum install -y pcre-devel bzip2-devel gcc gcc-c++
2、解压haproxy包
[[email protected] ~]#mkdir /opt/abc
[[email protected] ~]#mount.cifs //192.168.37.1/SHARE /opt/abc
[[email protected] ~]#tar zxvf /opt/abc/haproxy-1.5.19.tar.gz -C /opt/
3、配置
[[email protected] ~]#cd /opt/haproxy-1.5.19/
[[email protected] ~]#make TARGET=linux26
[[email protected] ~]#make install
4、创建haproxy配置文件目录
[[email protected] ~]#mkdir /etc/haproxy
5、复制文件配置模板到etc目录下
[[email protected] ~]#cp examples/haproxy.cfg /etc/haproxy/
6、编辑配置文件
[[email protected] ~]#vim /etc/haproxy/haproxy.cfg
7、创建启动脚本,给与执行权限
[[email protected] ~]#cp /opt/haproxy-1.5.19/examples/haproxy.init /etc/init.d/haproxy
[[email protected] ~]#chmod +x /etc/init.d/haproxy
8、加入服务系统
[[email protected] ~]#chkconfig --add /etc/init.d/haproxy
[[email protected] ~]#ln -s /usr/local/sbin/haproxy /usr/sbin/haproxy
9、启动服务,关闭防火墙及安全功能
[[email protected] ~]#service haproxy start
[[email protected] ~]#systemctl stop firewalld.service
[[email protected] ~]#setenforce 0
10、测试
实验完成!
以上是关于使用Haproxy搭建Web群集(内附源码包)的主要内容,如果未能解决你的问题,请参考以下文章