返回顶部
首页 > 资讯 > 精选 >HAproxy企业应用,TCP/HTTP动静分离
  • 572
分享到

HAproxy企业应用,TCP/HTTP动静分离

2023-06-03 19:06:33 572人浏览 八月长安
摘要

HAproxy企业应用,tcp/Http动静分离HAProxy的是一个免费的、开源的的tcp/http反向代理工具、负载均衡器,是一个企业非常快速和可靠的安全的解决方案,提供高可用性、高并发性,负载均衡和代理对TCP和基于HTTP的应用程序

HAproxy企业应用,tcp/Http动静分离

HAProxy的是一个免费的、开源的的tcp/http反向代理工具负载均衡器,是一个企业非常快速和可靠的安全的解决方案,提供高可用性、高并发性,负载均衡和代理对TCP和基于HTTP的应用程序。它特别适用于流量非常高的网站。它已成为事实上的标准开源负载均衡器,现在随大多数主流linux发行版一起提供,在互联网领域应用也是非常广泛,受欢迎的第三方工具。

                                             

在企业实际应用环境中,往往会根据业务请求将相关不同请求跳转到指定的后端服务器,比如客户静态资源请求交给后端静态资源服务器处理,PHP请求交给后端动态资源Apache服务进行处理,jsp请求交给后端动态资源Tomcat服务进行处理,即业务上的应用请求分离,我们这里可以通过haproxy完全可以利用acl匹配规则实现这一目的,以实现动静分离效果;除了haproxy外,其实还可以通过Nginx的acl规则也可以完全实现,不过这些强大的工具往往是在Linux服务器上面跑才能发挥最佳性能,其实这些东西安装和配置非常简单,只需要有Linux基础,懂得一些Linux基础的命令就完全可以实现强大的功能,我也是在《Linux就该这么学》这本树入门Linux,非常适合于初学者。

现在好多企业购买负载均衡器硬件设备,其实这些硬件设备都是通过潜入软件来实现的,可能性能还没有那么好,haproxy实现tcp和http负载均衡非常靠谱的,我们企业现在入口几十万的并发,在前端部署几天Linux服务器安装haproxy完全毫无压力的,而且效果非常明显,开始没有用到haproxy的时候用户一直反馈访问非常卡,因为开始是直接访问windows服务器,这样不安全并且给业务服务器压力也非常大,还有可能导致业务直接奔溃。Haproxy用户负载均衡在Linux服务器上面跑还是非常好的,会话速率快、会话并发高、数据转化率快这些都是haproxy的一些性能上面的优势。

下面我们通过一个简单的案例来实现HAproxy动静分离效果,需求如下:

静态页面的请求发送到 WEB1;

动态页面的请求发送到 web2。

一. haproxy实现应用动静分离

Haproxy动静分离案例拓扑图

haproxy部署前注意事项:

(1)操作系统版本: Centos 7.4(64位)

(2)功能角色及服务器ip相关信息:

角色名称

ip信息

haproxy   server

eth0:172.51.96.233/24    &&  eth2:192.168.3.22/24

static   server

 eth2:192.168.3.24/24

php   server

eth2:192.168.3.9/24

tomcat   server

eth2:192.168.3.9/24

 

二、操作部署

官网下载haproxy-1.8.9.tar.gz安装包(需要上墙);

# wget http://www.haproxy.org/download/1.8/src/haproxy-1.8.9.tar.gz

创建haproxy运行用户

# groupadd -r haproxy

# useradd -g haproxy -M -s /sbin/nologin haproxy

 

源码编译安装haproxy:

# tar zxvf haproxy-1.8.9.tar.gz

# cd haproxy-1.8.9/

# make TARGET=linux2628  PREFIX=/usr/local/haproxy

# make install PREFIX=/usr/local/haproxy

注意:TARGET=Linux31 是通过uname -a 来查看Linux内核版本的,kernel 大于2.6.28的用:TARGET=linux2628

# cd /usr/local/haproxy/

[root@web-3-22 haproxy]# ll

total 0

drwxr-xr-x 3 root root 21 May 23 15:56 doc

drwxr-xr-x 2 root root 21 May 23 15:56 sbin

drwxr-xr-x 3 root root 17 May 23 15:56 share

yum安装:

[root@web-3-22 haproxy]# yum install haproxy.x86_64

[root@web-3-22 haproxy]# mkdir etc

[root@web-3-22 haproxy]# cd etc/

 

haproxy配置

[root@web-3-22 etc]# vim haproxy.cfg

global

    maxconn 500000          # Max simultaneous connections from an upstream server

    spread-checks 5         # Distribute health checks with some randomness

    chroot /usr/local/haproxy

    daemon

    nbproc 2

    user haproxy

    group haproxy

    log 127.0.0.1 local0

    log 127.0.0.1 local1 notice

    description haproxy server

 

defaults

        log     global

        mode    http

        maxconn 10000

        option  httplog

        option  httpclose

        option  dontlognull

        option  forwardfor      except 127.0.0.0/8

        retries 3

        option redispatch

        balance roundrobin

        timeout http-request    10s

        timeout queue           1m

        timeout client          1m

        timeout server          1m

listen adimin_stats

      bind-process 1

      mode http

      stats enable

      stats hide-version

      bind :8888

      stats uri /admin?stats

      stats realm Haproxy\ Statistics

      stats auth hadmin:yhXV2WAbybXd1euzEXbEADAe

      stats refresh 30s

      stats admin if TRUE

 

listen  www

        bind *:80

        maxconn 50000

        mode http

        log global

        option httplog

        option httpclose

        option forwardfor

        log global

        default_backend default   #设置默认访问资源页面

        #定义当请求的内容是静态内容时(图片、视频、js、CSShtml),将请求转交给静态资源服务器的acl规则      

        acl url_static path_beg  -i /static /images /img /javascript /stylesheets

        acl url_static path_end  -i .jpg .gif .png .css .js .html

        acl host_static hdr_beg(host)  -i img. video. download. ftp. imags. videos.

        #定义当请求的内容是php内容时,将请求转交给php动态资源服务器的acl规则   

        acl url_php path_end     -i .php

        #定义当请求的内容是.jsp或.do内容时,将请求转交给tomcat动态资源服务器的acl规则   

        acl url_jsp path_end     -i .jsp .do

        #引用haproxy的acl匹配规则

        use_backend static_pool if  url_static or host_static

        use_backend php_pool    if  url_php

        use_backend tomcat_pool if  url_jsp

        #定义后端backend server

backend static_pool

        option  httpchk GET /index.html

        server static1 192.168.3.24:80 cookie id1  check inter 2000 rise 2 fall 3

backend php_pool

        option  httpchk GET /index.php

        server php1 192.168.3.9:80 cookie id1 check inter 2000 rise 2 fall 3

backend tomcat_pool

        option  httpchk GET /index.jsp

        server tomcat1 192.168.3.9:8080 cookie id2 check inter 2000 rise 2 fall 3

#<----------------------default site for listen and frontend------------------------------------>

backend default

        mode http

        option  httpchk GET /index.html

        server default 192.168.3.24:80 cookie id1 check inter 2000 rise 2 fall 3 maxconn 5000

# chown -R haproxy:haproxy /usr/local/haproxy/

# service haproxy start 

#启动haproxy报错,可能是端口冲突导致的,检查haproxy listen配置,我这配置文件监听的是80端口,此主机的80端口被httpd占用了,停止httpd服务,再次启动haproxy就正常了;

 

# netstat -ntlp|grep haproxy

服务状态

service haproxy start             //启动服务

service haproxy stop              //停止服务

service haproxy status            //服务状态

chkconfig haproxy on              //开机启动

三、测试haproxy效果如下:

 

默认页面:

http://192.168.3.22

 

测试html静态资源

http://192.168.3.22/index.html

 

测试php动态资源

http://192.168.3.22/index.php

 

测试jsp动态资源

http://192.168.3.22/index.jsp

 

haproxy后台监控页面

http://192.168.3.22:8888/admin?stats

hadmin/yhXV2WAbybXd1euzEXbEADAe

 

HAproxy企业应用,TCP/HTTP动静分离

--结束END--

本文标题: HAproxy企业应用,TCP/HTTP动静分离

本文链接: https://lsjlt.com/news/235409.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • HAproxy企业应用,TCP/HTTP动静分离
    HAproxy企业应用,TCP/HTTP动静分离HAProxy的是一个免费的、开源的的tcp/http反向代理工具、负载均衡器,是一个企业非常快速和可靠的安全的解决方案,提供高可用性、高并发性,负载均衡和代理对TCP和基于HTTP的应用程序...
    99+
    2023-06-03
  • Redis在PHP应用中的动静分离
    随着互联网的发展,越来越多的网站应用都需要快速响应海量数据的读写操作,此时,NoSQL数据库逐渐成为了大数据时代的新宠。Redis作为NoSQL数据库中的一员,正因为其高速度、高性能、高扩展性等特点而被众多网站应用所选择和使用。Redis在...
    99+
    2023-05-16
    redis PHP应用 动静分离
  • 使用nginx实现动静分离
    本文为大家分享了使用nginx实现动静分离的具体内容,供大家参考,具体内容如下 一、什么是动静分离 动静分离是指在web服务器架构中,将静态页面与动态页面或者静态内容接口和动态内容接...
    99+
    2024-04-02
  • PHP 企业级应用监控与日志分析
    php 应用监控和日志分析:应用性能监控:使用 new relic apm 工具获得详细的性能见解。使用 xhprof php 扩展分析函数调用,识别瓶颈。日志记录:使用 monolog...
    99+
    2024-05-08
    日志分析 企业级应用监控
  • JavaScript Vue.js 在企业级应用中的应用:分享真实案例
    JavaScript Vue.js 在企业级应用中的应用 JavaScript Vue.js 作为一种渐进式的开源框架,凭借其简洁的语法、丰富的特性、灵活的配置选项和丰富的生态系统,已经成为企业级应用开发的热门选择。Vue.js 以其简...
    99+
    2024-02-04
    JavaScript Vue.js 企业级应用 真实案例 优势 最佳实践
  • 移动Web离线应用的示例分析
    这篇文章主要介绍了移动Web离线应用的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 先决条件 在本文中,您将使用最新 Web ...
    99+
    2024-04-02
  • 使用Nginx+uWsgi实现Python的Django框架站点动静分离
    由于: Django处理静态文件不太友好; 以后有可能需要处理php或者其他资源的请求; 所以考虑结合nginx,使用nignx做它擅长的路由分发功能;同时做动静分离,即Http请求统一由Nginx进行分发...
    99+
    2022-06-04
    动静 框架 站点
  • 如何用nginx实现动静分离的负载均衡集群
    这篇文章主要介绍“如何用nginx实现动静分离的负载均衡集群”,在日常操作中,相信很多人在如何用nginx实现动静分离的负载均衡集群问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何用nginx实现动静分离的...
    99+
    2023-07-05
  • 怎么使用Nginx动静分离技术优化网站性能
    Nginx动静分离技术是通过将动态内容和静态内容分开处理,提高网站性能的一种方法。以下是使用Nginx动静分离技术优化网站性能的步骤...
    99+
    2024-05-07
    Nginx
  • 适合企业的五大Linux应用分别有哪些
    这篇文章将为大家详细讲解有关适合企业的五大Linux应用分别有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Linux默默地在企业背后辛苦劳作了多年,如今在办公室业务里越加流行起来,不管...
    99+
    2023-06-16
  • PHP 企业级应用分布式架构设计问答
    分布式架构是一种系统设计方法,即将应用组件分布在多个服务器上,以提高可扩展性、可用性和容错性。在 php 企业级应用中,分布式架构变得必不可少,因为它允许随着应用的增长而轻松扩展,确保在...
    99+
    2024-05-07
    php 分布式架构 高可扩展性
  • 利用nginx实现动静分离的负载均衡集群实战
    前言 大家好,我是沐风晓月,今天我们利用nginx来作为负载,实现两台apache服务器的动静分离集群实战; 本文收录于沐风晓月的专栏《linux基本功-系统服务实战》,更多内容可以关注我的博客: https://blog.csdn.net...
    99+
    2023-08-18
    服务器 运维 linux 原力计划
  • 怎么用服务器的负载均衡nginx+tomcat实现动静分离
    这篇文章主要介绍“怎么用服务器的负载均衡nginx+tomcat实现动静分离”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么用服务器的负载均衡nginx+tomcat实现动静分离”文章能帮助大家解...
    99+
    2023-06-29
  • nodejs开发企业微信第三方应用的示例分析
    小编给大家分享一下nodejs开发企业微信第三方应用的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、注册第三发服务商...
    99+
    2024-04-02
  • 钉钉企业内部H5微应用开发的示例分析
    这篇文章给大家分享的是有关钉钉企业内部H5微应用开发的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。企业内部H5微应用开发 分为 服务端API和前端API的开发,主要涉及到进入应用免登流程和JSAPI鉴权...
    99+
    2023-06-09
  • PHP 企业级应用架构与设计实战经验分享
    在企业级 php 应用程序中,领域驱动设计 (ddd)、服务层架构、微服务架构和事件驱动架构是常见的架构方法。ddd 强调对业务领域的建模,服务层架构分离业务逻辑和表示层/数据访问层,微...
    99+
    2024-05-08
    php 企业级应用架构 数据访问
  • 如何进行企业使用ERP和MES集成应用差异分析
    这期内容当中小编将会给大家带来有关如何进行企业使用ERP和MES集成应用差异分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。  近些年来,许多大中型企业都在实施ERP和MES系统的集成应用,但在具体推进...
    99+
    2023-06-05
  • 中小型企业的Sendmail邮件服务器应用实例分析
    这期内容当中小编将会给大家带来有关中小型企业的Sendmail邮件服务器应用实例分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。简介:旨在介绍如何利用Linux服务器上的sendmail构建中小型企业的...
    99+
    2023-06-13
  • 【项目案例】前后端分离项目 【中小企业办公自动化管理系统 】SpringBoot + Vue + Element UI + Mysql
    👉博主介绍: 博主从事应用安全和大数据领域,有8年研发经验,5年面试官经验,Java技术专家,WEB架构师,阿里云专家博主,华为云云享专家,51CTO 专家博主 Java知识图谱点击链接:体系化学习Java(Java面...
    99+
    2023-08-17
    spring boot vue.js ui 前后端分离项目 中小企业办公自动化管理系统 原力计划
  • 掌控分页之术:ASP DataPager 在企业级应用中的实战案例
    ASP DataPager:分页利器,掌控海量数据 在现代企业级应用中,海量数据管理是必不可少的。为了让用户高效访问和处理大量数据,分页是一个关键技术。ASP.NET DataPager控件提供了强大的分页功能,可以轻松嵌入到Web应用程...
    99+
    2024-03-02
    ASP.NET、DataPager、企业级应用、分页、海量数据
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作