使用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、测试

实验完成!

原文地址:http://blog.51cto.com/13784264/2162083

时间: 2024-10-07 08:07:51

使用Haproxy搭建Web群集(内附源码包)的相关文章

一步一步搭建Svn+Apache环境(附源码包)

一步一步搭建Svn+Apache环境(附源码包) 看了很多网上的搭建方法,但是因为配置的svn和Apache的版本问题和网上写的教程的不完整等原因,阻碍了很多想要学习的朋友!!今天亲手搭建了一下Svn+Apache环境,并且详细记录了每一步搭建的细节,送给需要的朋友们! 软件版本: redhat6.4(64位) apr-1.5.1.tar.gz apr-util-1.5.3.tar.gz httpd-2.2.27.tar.gz sqlite-amalgamation-3.6.17.tar.gz

详解CentOS7.4搭建Tomcat构建Java Web站点(内附源码包)

Java简介 Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承.指针等概念,因此Java语言具有功能强大和简单易用两个特征.Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论.Java具有简单性.面向对象.分布式.健壮性.安全性.平台独立与可移植性.多线程.动态性等特点.Java可以编写桌面应用程序.Web应用程序.分布式系统和嵌入式系统应用程序等. Tomcat简介 Tomcat是Apache软件基金会的Jakarta项目中的一

Nginx + Tomcat 负载均衡群集 【内附源码包】

前言: 1·在之前都学习 Linux 的一些服务和搭建,都很熟悉 !这篇文章主要讲Nginx.Tomcat与 Nginx + Tomcat 负载均衡群集.2·在各种网站服务器软件中,除了 Apache HTTP Server 外,还有一款轻量级的 HTTP 服务器软件--Nginx,它是由俄罗斯 Lgor Sysoev(伊戈尔·赛索耶夫)开发. Nginx 的优点: 1·稳定性2·系统资源消耗低3·高并发链接的处理能力 (30000~50000 个并发请求),核心优点!4·反向代理服务器5·安装

手把手教你部署WEB邮件系统Squirrelmail小松鼠(内附源码包)

简介 Web邮件系统指的是提供给用户发信.收信的网页操作界面,能够完成和MUA软件类似的邮件管理.通讯簿等附加功能,同时Web邮件系统依赖于已有的收信.发信服务器,但不需要用户预先配置邮箱属性,因此使用更加方便,在Internet中应用十分广泛.而SquirrelMail是使用PHP开发的一套网页程序可以与 Postfix. Dovecot很好地协作,通过Web界面提供邮件发送.接收和管理操作. 实验环境 系统环境:centos6.5 LinuxIP地址:192.168.1.77(Linux)

源码手工编译LAMP架构搭建Discuz论坛(内附源码包)

简介 Linux+Apache+Mysql/MariaDB+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台.随着开源潮流的蓬勃发展,开放源代码的LAMP已经与J2EE和.Net商业软件形成三足鼎立之势,并且该软件开发的项目在软件方面的投资成本较低,因此受到整个IT界的关注.从网站的流量上来说,70%以上的访问流量是LAMP来提供的,LAMP是最强大的网站解决

史上最详细Oracle 12c搭建过程(内附源码包)

简介 Oracle Database,又名Oracle RDBMS,或简称Oracle.是甲骨文公司的一款关系数据库管理系统.它是在数据库领域一直处于领先地位的产品.可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好.使用方便.功能强,适用于各类大.中.小.微机环境.它是一种高效率.可靠性好的适应高吞吐量的数据库解决方案. 优点 可用性强可扩展性强数据安全性强稳定性强 操作系统要求 物理内存不少于4Gswap交换分区不少于8G磁盘空间不少于30G挂载分区文件类型为x

Nginx+tomcat实现反向代理(内附源码包)

需求描述 通常情况下,一个Tomcat站点由于可能出现单点故障及无法应付过多客户复杂多样的请求等问题,不能单独应用于生产环境下,所以我们需要一套更可靠的解决方案来完善Web站点架构.Nginx是一款非常优秀的http服务器软件,它能够支持高达50000个并发连接数的响应,拥有强大的静态资源处理能力,运行稳定,并且内存.CPU等系统资源消耗非常低.目前很多大型网站都应用Nginx服务器作为后端网站程序的反向代理及负载均衡器,来提升整个站点的负载并发能力. 工作原理 反向代理是指以代理服务器来接受I

详解postfix邮箱服务器安装、配置及其工作原理(内附源码包)

简介 postfix是Wietse Venema在IBM的GPL协议之下开发的MTA(邮件传输代理)软件.postfix是Wietse Venema想要为使用最广泛的sendmail提供替代品的一个尝试.在Internet世界中,大部分的电子邮件都是通过sendmail来投递的,大约有100万用户使用sendmail,每天投递上亿封邮件.这真是一个让人吃惊的数字.Postfix试图更快.更容易管理.更安全,同时还与sendmail保持足够的兼容性. 工作原理 客户端通过Outlook软件,向邮件

Apach实现创建虚拟目录以及用户访问控制(内附源码包)

简介 基于用户的访问控制就是对网页目录进行认证配置,用户输入用户名密码之后才能访问网页 认证方式 httpd服务器支持使用摘要认证(Digest)和基本认证(Basic)两种方式Digest:使用摘要认证需要在编译httpd之前添加"--enable-auth-digest"选项,但并不是所有的浏览器都支持摘要认证;Basic:基本认证是htpd服务的基本功能,不需要预先配置特别的选项(安全性没有摘要认证高,支持所有的浏览器) 认证与授权 基于用户的访问控制包含认证(Authentic

源码手工编译LNMP架构(内附源码包)

简介 LNMP指的是一个基于CentOS/Debian编写的Nginx.PHP.MySQL.phpMyAdmin.eAccelerator一键安装包.可以在VPS.独立主机上轻松的安装LNMP生产环境.LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构.Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统.代表版本有:debian.centos.ubuntu.fedora.gentoo等:Nginx是一个高性能的HTTP和反向代理服务器,也是