动静分离技术
一、HAproxy 动静分离
1、概念:
HAproxy 动静分离技术是一种用于优化 Web 服务器性能和提高用户体验的策略,它通过将动态内容和静态内容分别路由到不同的后端服务器来实现,减轻服务器负载,提高网站的响应速度。
动态内容包括由服务器动态生成的网页内容,如数据库查询结果、用户登录状态等;
静态内容包括不变的文件,如图像、CSS、视频文件等。
2、示例:
(1) 环境:
HAproxy:192.168.198.131
web1:192.168.198.132
web2:192.168.198.133
PHP1:192.168.198.129
PHP2:192.168.198.130

(2) web 配置:
yum install -y httpd
echo web111 > /var/www/html/index.html
echo web222 > /var/www/html/index.html
systemctl restart httpd
(3) php 配置:
yum install -y httpd php
vim /var/www/html/index.php
<?php
phpinfo();
?>
systemctl restart httpd
(4) 配置 haproxy:
vim /etc/haproxy/haproxy.cfg
globallog 127.0.0.1 local3 infomaxconn 4096user beangroup beandaemon nbproc 1 pidfile /run/haproxy.piddefaults log global mode http maxconn 2048 retries 3 option redispatch timeout connect 5000 timeout client 50000 timeout server 50000 option abortonclose stats uri /admin?stats stats realm Private lands stats auth admin:123 stats hide-version frontend http-in bind 0.0.0.0:80 mode http log global option httplog option httpclose acl php url_reg -i \.php$ acl html url_reg -i \.html$ use_backend php-server if php use_backend html-server if html default_backend html-serverbackend php-server mode http balance roundrobin option httpchk GET /index.php cookie SERVERID insert indirect nocache server php-A 192.168.198.129:80 weight 1 cookie 1 check inter 2000 rise 2 fall 5 server php-B 192.168.198.130:80 weight 1 cookie 2 check inter 2000 rise 2 fall 5backend html-server mode http balance roundrobin option httpchk GET /index.html cookie SERVERID insert indirect nocache server html-A 192.168.198.132:80 weight 1 cookie 3 check inter 2000 rise 2 fall 5 server html-B 192.168.198.133:80 weight 1 cookie 4 check inter 2000 rise 2 fall 5

定义两个 ACL,分别匹配 URL 以 .php 和 .html 为结尾的请求 ;.php 请求交给 php-server 后端服务器,.html 请求交给 html-server 后端服务器。
如果请求的 URL 不匹配任何一个 ACL,将使用 html-server 的后端服务器来处理这些请求。

php-server 与 html-server 的配置信息。
(5) 测试效果:
启动 haproxy:systemctl restart haproxy


登录 haproxy 统计页面:

二、nginx 动静分离示例:
1、环境:
nginx:192.168.198.128
web1:192.168.198.132
web2:192.168.198.133
PHP1:192.168.198.129
PHP2:192.168.198.130
配置域名解析:

2、nginx 配置:
vim /etc/nginx/nginx.conf

● upstream:定义了 html 和 php 两个负载均衡组,包括后端的服务器以及监听的端口号;
● location /:用于处理根 URL 路径(/)的请求,它使用 proxy_pass 指令将请求代理给 html 负载均衡组,再分发给 web1 和 web2 服务器。
● location ~ \.php$:使用正则表达式匹配以 .php 结尾的 URL 路径,使用proxy_pass 指令将请求代理给 php 负载均衡组,再分发给 php1 和 php2 服务器。
相关文章:
动静分离技术
一、HAproxy 动静分离 1、概念: HAproxy 动静分离技术是一种用于优化 Web 服务器性能和提高用户体验的策略,它通过将动态内容和静态内容分别路由到不同的后端服务器来实现,减轻服务器负载,提高网站的响应速度。 动态内容包括由…...
STM32单片机智能小车一PWM方式实现小车调速和转向
目录 1. 电机模块开发 2. 让小车动起来 3. 串口控制小车方向 4. 如何进行小车PWM调速 5. PWM方式实现小车转向 1. 电机模块开发 L9110s概述 接通VCC,GND 模块电源指示灯亮, 以下资料来源官方,具体根据实际调试 IA1输入高电平ÿ…...
灰狼优化算法(GWO)python
目录 一、灰狼优化算法的python实现 二、灰狼优化算法与遗传算法的对比分析(python) 2.1 GWO1.py 2.2 GA1.py 2.3 GWO_vs_GA.py 2.4 运行结果 三、基于莱维飞行改进的灰狼优化算法的python实现 一、灰狼优化算法的python实现 import numpy as …...
项目知识点总结-住房图片信息添加-Excel导出
(1)住房信息添加 Controller: RequestMapping("/add")public String add(Home home, Model model) throws IOException{String sqlPath null;//定义文件保存的本地路径String localPath"D:\\AnZhuang\\Java项目\\选题\\Xin-…...
第三届iEnglish全国ETP大赛决赛即将启动
如今,寓教于乐的学习方式越来越受到家长和孩子的欢迎,“玩中学”成为一种既能培养兴趣又有助于孩子成长的学习趋势。 以“玩转英语,用iEnglish”为活动主题的第三届全国ETP大赛即将于本周五(11月3日)迎来总决赛的抽签仪式。据主办方iEnglish智能英语学习解决方案相关负责人称,…...
创造产业链协同优势后,凌雄科技在DaaS行业转动成长飞轮
企业服务领域,一直存在一种共识:做好很难,但一旦服务模式跑通了,得到了市场的认可,要滚起雪球就会事半功倍。 重资产、重运营的DaaS(设备及服务)赛道,是个非常典型的细分领域。在这…...
【protobuf】protobuf自定义数据格式,CMake编译C++文件读写自定义数据
protobuf自定义数据格式,CMake编译文件读写自定义数据 1.protobuf安装2.定义.proto文件3.编写main.cpp4.编写CMAkeLists配置文件5.运行 1.protobuf安装 protobuf库链接 2.定义.proto文件 新建一个Person.proto文件和一个Animal.proto文件,内容如下&…...
解决:http://localhost:8080 不在以下 request 合法域名列表中
在搭建资源服务器时,遇到了微信开发者工具中无法访问本地资源服务器的情况,报错如下: 参考一篇博文的方法,完美解决 【解决】http://localhost:8080 不在以下 request 合法域名列表中_localhost不在以下 request 合法域名列表中-…...
Linux普通用户提权(sudo)
文章目录 Linux普通用户提权(sudo)1、在sudoers文件添加普通用户2、测试 Linux普通用户提权(sudo) 1、在sudoers文件添加普通用户 正常来说,普通用户初始是不具备提权的能力的,比如执行sudo ls会出现报警告…...
链表指定节点的插入
向现有链表中插入结点,根据插入位置的不同,可分为以下 3 种情况: 插入到链表的头部,作为新的链表中第一个存有数据的结点(又称为”首元结点”);插入到链表中某两个结点之间的位置;插…...
解决问题Conda:CondaValueError: Malformed version string ‘~’ : invalid character(s)
解决问题Conda:CondaValueError: Malformed version string ‘~’ : invalid character(s) 背景 今天使用Conda构建项目运行环境的时候报错::CondaValueError: Malformed version string ‘~’ : invalid character(s) ##报错问题 在安装te…...
Sci Immunol丨Tim-3 适配器蛋白 Bat3 是耐受性树突状细胞
今天和大家分享一篇发表于2022年3月的文章,题目为“Tim-3 adapter protein Bat3 acts as an endogenous regulator of tolerogenic dendritic cell function”,发表在《Sci Immunol》杂志上。文章主要研究了Tim-3和其适配蛋白Bat3在调节免疫应答中的作用…...
天软特色因子看板(2023.10 第14期)
该因子看板跟踪天软特色因子A05005(近一月单笔流通金额占比(%),该因子为近一个月单笔流通金额占比因子,用以刻画股票在收盘时,主力资金在总交易金额中所占的比重。 今日为该因子跟踪第14期,跟踪其在SW801160 (申万公用事业) 中的表…...
Photoshop(PS)2021版 安装教程(图文教程超详细)
软件:PS版本:2021语言:简体中文大小:2.26G安装环境:Win11/Win10(1809以上版本)硬件要求:CPU2.0GHz 内存4G(或更高,不支持7代以下CPU)下载通道①百度网盘丨64位…...
详解React:Props构建可复用UI的基石
React是一种流行的JavaScript库,用于构建用户界面。它的组件化架构使得开发人员能够轻松地构建可复用的UI元素,从而提高开发效率。在本文中,我们将探讨React中的组件和Props的重要性,以及如何利用它们来构建可复用的UI。 引言 在…...
【Unity】【VR开发疑难】Unity运行就报无法启动XR Plugin
【现象】 连接Link后运行Unity的VR项目Link也无反映,Unity控制台报:无法启动XR Plugin,并说是由于Oculus头盔未连接导致。 【分析】 打开Oculus PC客户端,发现状态是连接正常。重启机器后,提示Oculus没有出于RunTim…...
本地启动Elasticsearch(docker启动)
一、es版本7.17.0 docker run -p 9200:9200 -p 9300:9300 -e "discovery.typesingle-node" -e ES_JAVA_OPTS"-Xms256m -Xmx256m" -d --name ES01 elasticsearch:7.17.0进入容器,修改/usr/share/elasticsearch/config/elasticsearch.yml 添加如…...
JVM修炼印记之初识
文章目录 JVM认识JVM的功能常见JVMHotSpot的发展历程 JVM认识 Java虚拟机(Java Virtual Machine,JVM)是一个用于执行Java字节码的虚拟计算机。它是Java语言的核心,可以在不同的操作系统和硬件平台上运行Java程序。 JVM负责将Java…...
开关电源老化试验和性能检测系统软件
开关电源自动测试系统由PC(工控机)、测试工装、可编程直流电源、数字示波器、可编程直流电子负载、继电器模块等部分组成,并通过RS232/LAN通讯总线、测试夹具以及其它线缆等进行连接,为系统组成结构。PC与可编程直流电源、数字示波器、可编程直流电子负载…...
水库大坝可视化智能远程监管方案,助力安全监测智能巡检
一、背景需求 水库大坝作为防洪度汛的重要设施,其安全问题直接关系到人民群众的生命财产安全。因此,必须加强对大坝水库的安全管理,对水库除险加固和运行管护要消除存量隐患,实现常态化管理,同时要配套完善重点小型水…...
低代码平台扩展性有多重要?没有这能力,迟早要重构
在企业数字化转型的浪潮中,低代码平台凭借“快速搭建、降低门槛”的核心优势,成为众多企业实现高效开发的首选工具。不少企业在低代码平台选型时,往往过度关注“开发速度”“易用性”等表层指标,却忽略了一个决定平台生命周期的核…...
从NVIDIA到昇腾:在JupyterLab里统一监控多品牌AI加速卡的实战记录
从NVIDIA到昇腾:在JupyterLab里统一监控多品牌AI加速卡的实战记录 当AI开发团队面临异构计算环境时,如何在一个统一的开发界面中监控不同品牌的加速卡性能,成为提升研发效率的关键痛点。本文将分享我们在JupyterLab中同时监控NVIDIA GPU和华为…...
基于单细胞测序技术的细胞通讯分析方法及其应用
一、细胞通讯与单细胞测序技术的研究意义多细胞生物由不同类型的细胞构成一个开放的社会。在这一社会中,单个细胞之间必须协调其行为,因此建立有效的通讯联络机制至关重要。细胞通讯是指一个细胞发出的信息通过介质传递至另一个细胞,并引发相…...
电源工程师必看:平均电流模式BUCK双环控制详解(从传递函数到Psim仿真)
电源工程师必看:平均电流模式BUCK双环控制详解(从传递函数到Psim仿真) 在电力电子领域,BUCK变换器的控制策略一直是工程师们关注的重点。作为一名刚入行的电源工程师,我曾被各种控制模式搞得晕头转向——电压模式、峰值…...
Python自动化:调用企业微信API高效推送邮件通知
1. 为什么需要企业微信邮件自动化 每天手动发送运营报告的日子我受够了。作为团队的技术负责人,曾经每周都要花2小时整理数据、写邮件、检查收件人列表。直到发现企业微信API能实现全自动化,现在整个过程只需30秒,准确率还更高。 企业微信的邮…...
vLLM-v0.11.0并发优化:max-num-seqs设置,支持高并发请求
vLLM-v0.11.0并发优化:max-num-seqs设置,支持高并发请求 1. 为什么需要关注并发性能? 在大模型推理服务中,并发能力直接决定了系统的吞吐量和响应速度。想象一下,当你的模型服务突然收到100个并发请求时,…...
YimMenu:终极免费的GTA V模组菜单完全指南与安全防护教程
YimMenu:终极免费的GTA V模组菜单完全指南与安全防护教程 【免费下载链接】YimMenu YimMenu, a GTA V menu protecting against a wide ranges of the public crashes and improving the overall experience. 项目地址: https://gitcode.com/GitHub_Trending/yi/Y…...
ESP32开发板选型指南:从Arduino到NodeMCU,哪款更适合你的项目?
ESP32开发板选型指南:从Arduino到NodeMCU,哪款更适合你的项目? 在物联网和嵌入式开发领域,ESP32系列开发板凭借其出色的性价比和丰富的功能,已经成为众多开发者的首选。面对市场上琳琅满目的ESP32开发板型号࿰…...
技术深度:G-Helper实现华硕笔记本精准散热控制与性能调优的架构解析
技术深度:G-Helper实现华硕笔记本精准散热控制与性能调优的架构解析 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyrus, Flow, T…...
不只是代码:用 Agent 构建全自动数据分析与可视化流水线
不只是代码:用 Agent 构建全自动数据分析与可视化流水线 1. 引入与连接:从"手动分析"到"智能自动化"的范式转变 1.1 一个数据分析师的典型一天 让我们想象一下,李明是一家互联网公司的资深数据分析师。每天早上9点,他都会坐在电脑前开始他熟悉的工作…...
