当前位置: 首页 > news >正文

08. Nginx进阶-Nginx动静分离

简介

什么是动静分离?

通过中间件将动态请求和静态请求进行分离。分离资源,减少不必要的请求消耗,减少请求延时。

动静分离的好处

动静分离以后,即使动态服务不可用,静态资源仍不受影响。

动静分离示意图

动静分离应用

主机规划

主机名称主机地址主机用途备注
k8s-master-1192.168.108.129负载均衡主机Nginx Proxy
k8s-master-2192.168.108.130静态资源主机Nginx Static
k8s-master-3192.168.108.131动态资源主机Tomcat Server

应用

Nginx配置

静态资源主机

  1. 信息

主机:192.168.108.130
路径:/etc/nginx/conf.d/static.conf

  1. 配置
server {listen 8080;server_name location;root /www/static/app;index index.html index.htm;location ~* .*\.(png|jpg|gif)$ {root /www/static/app/images;}
}
  1. 资源
#静态资源准
mkdir -p /www/static/app/images
cd /www/static/app/images
#上传静态图片#访问页面准备
cat > /www/static/app/index.html << EOF
<img src="./ai-1.jpg" alt="Image-1"><img src="./ai-2.jpg" alt="Image-2"><img src="./ai-3.jpg" alt="Image-3">
EOFnginx -t
systemctl restart nginx
  1. 查看静态资源
curl -iv 127.0.0.1:8080

image.png

动态资源主机

  1. 安装Tomcat
yum -y install tomcat
  1. 信息

主机:192.168.108.131
路径:/usr/share/tomcat/webapps/ROOT/java_test.jsp

  1. 资源
mkdir -p /usr/share/tomcat/webapps/ROOT
cat > /usr/share/tomcat/webapps/ROOT/java_test.jsp << EOF
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<HTML><HEAD><TITLE>JSP Test Page </TITLE></HEAD><BODY><%Random rand = new Random();out.println("<h1>Random number:</h1>");out.println(rand.nextInt(99)+100);%></BODY>
</HTML>
EOF
  1. 查看动态资源
curl -iv http://192.168.108.131:8080/java_test.jsp

image.png

负载均衡主机

  1. 信息

主机:192.168.108.129
路径:/etc/nginx/conf.d/wangmingqu.conf

  1. 配置
upstream static {server 192.168.108.130:80;
}upstream java {server 192.168.108.131:8080;
}server {listen       80;server_name  wang.mingqu.com;charset utf-8;location ~ .*\.(png|jpg|gif)$ {proxy_pass http://static;}location ~ .*\.jsp$ {proxy_pass http://java;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   /usr/share/nginx/html;}}
  1. 验证动静分离
#访问动态页面
curl -iv http://wang.mingqu.com/java_test.jsp#访问静态页面
curl -iv http://wang.mingqu.com/ai-1.jpg

动态页面
image.png
静态页面
image.png

相关文章:

08. Nginx进阶-Nginx动静分离

简介 什么是动静分离&#xff1f; 通过中间件将动态请求和静态请求进行分离。分离资源&#xff0c;减少不必要的请求消耗&#xff0c;减少请求延时。 动静分离的好处 动静分离以后&#xff0c;即使动态服务不可用&#xff0c;静态资源仍不受影响。 动静分离示意图 动静分离…...

RPC--一起学习吧之架构

RPC&#xff08;远程过程调用&#xff09;是一种网络通信协议&#xff0c;它允许一台计算机&#xff08;客户端&#xff09;上的程序调用另一台计算机&#xff08;服务器&#xff09;上的程序&#xff0c;就像调用本地程序一样。RPC 可以使得网络中的不同进程能够相互调用&…...

服务器后端是学习java还是php

没有绝对的"最好"语言&#xff0c;每种后端语言都有其适用的场景和特点。以下是几种常用的后端语言&#xff1a; 1. Java&#xff1a;Java是一种通用且强大的语言&#xff0c;广泛用于企业级应用和大型系统。它有很好的性能和可靠性&#xff0c;并且具有优秀的生态系…...

DCFL: for Oriented Tiny Object Detection

文章目录 AbstractIntroductionContributionRelated Work定向目标检测微小目标检测多尺度学习标签分配上下文信息特征增强MethodOverview动态先验Coarse Prior MatchingFiner Dynamic Posterior MatchingAblation StudyAnalysis不平衡问题的调解可视化速度Conclusionhh 源代码 …...

代码学习记录11

随想录日记part11 t i m e &#xff1a; time&#xff1a; time&#xff1a; 2024.03.04 主要内容&#xff1a;今天的主要内容是深入了解栈和队列中比较难的题录类型&#xff1a;滑动窗口最大值与前 K K K 个高频元素&#xff0c;最后对于这三天学习的队列和栈的知识进行总结。…...

【LeetCode】第 387 场周赛

3069. 将元素分配到两个数组中 I 给你一个下标从 1 开始、包含 不同 整数的数组 nums &#xff0c;数组长度为 n 。 你需要通过 n 次操作&#xff0c;将 nums 中的所有元素分配到两个数组 arr1 和 arr2 中。在第一次操作中&#xff0c;将 nums[1] 追加到 arr1 。在第二次操作…...

基于 Vue3打造前台+中台通用提效解决方案(下)

47、通用组件 - 倒计时组件 特惠部分存在一个倒计时的功能,所以我们需要先处理对应的倒计时模块,并把它处理成一个通用组件。 那么对于倒计时模块我们又应该如何进行处理呢? 所谓倒计时,其实更多的是一个时间的处理,那么对于时间的处理,此时我们就需要使用到一个第三方…...

Topaz Video AI:一键提升视频品质,智能重塑影像魅力 mac/win版

Topaz Video AI是一款革命性的视频智能处理软件&#xff0c;它利用先进的机器学习和人工智能技术&#xff0c;为视频创作者提供了前所未有的视频增强和修复功能。无论您是专业视频编辑师、摄影师&#xff0c;还是热爱视频创作的爱好者&#xff0c;Topaz Video AI都能帮助您轻松…...

高效办公软件中哪个提醒待办事项更有效

在忙碌的办公环境中&#xff0c;每个人都像是一台精密运转的机器&#xff0c;处理着各种任务和待办事项。而在这其中&#xff0c;总有一些人&#xff0c;他们仿佛拥有超能力般&#xff0c;总是能准时、高效地完成每一项工作。他们的秘密武器是什么呢&#xff1f;答案就是——高…...

牛客练习赛122

D:圆 正着求删除的最小代价不好做&#xff0c;采用逆向思维&#xff0c;求选择一些不相交的线段使得构成一个圆的代价尽量大&#xff0c;最后答案就是所有线段权值之和减去最大代价。 那么如何求这个最大代价呢&#xff1f;显然区间DP 老套路&#xff1a;破环成链&#xff0…...

软考复习调整策略和学习计划!

根据软考办发布的最新通知&#xff0c;在群里引起了热烈讨论的是2024年度计算机技术与软件专业技术资格&#xff08;水平&#xff09;考试的安排。其中&#xff0c;信息系统项目管理师&#xff08;简称高项&#xff09;的考试次数从每年两次减少到只有5月份进行&#xff0c;而系…...

1小时网络安全事件报告要求,持安零信任如何帮助用户应急响应?

12月8日&#xff0c;国家网信办起草发布了《网络安全事件报告管理办法&#xff08;征求意见稿&#xff09;》&#xff08;以下简称“办法”&#xff09;。拟规定运营者在发生网络安全事件时应当及时启动应急预案进行处置。 1小时报告 按照《网络安全事件分级指南》&#xff0c…...

mysql使用连接池

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、mysql连接池&#xff1f;二、使用步骤1.引入库 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 例如&#xff1a; 提示&#xff1a…...

06. Nginx进阶-Nginx代理服务

proxy代理功能 正向代理 什么是正向代理&#xff1f; 正向代理&#xff08;forward proxy&#xff09;&#xff0c;一个位于客户端和原始服务器之间的服务器。 工作原理 为了从原始服务器获取内容&#xff0c;客户端向代理发送一个请求并指定目标&#xff08;即原始服务器…...

STM32 (1)

1.基本信息 stm32是由ST公司生产的一种32位微控制器&#xff08;单片机&#xff09;。 1.1 各种型号 stm32是32位单片机的总称&#xff0c;有多种不同的系列。 32即用32个比特位表示一个地址&#xff0c;寻址范围&#xff1a;0x00000000 --0xffffffff (4GB) 1.2 存储密度 …...

Spring初始(相关基础知识和概述)

Spring初始&#xff08;相关基础知识和概述&#xff09; 一、Spring相关基础知识&#xff08;引入Spring&#xff09;1.开闭原则OCP2.依赖倒置原则DIP3.控制反转IoC 二、Spring概述1.Spring 8大模块2.Spring特点2.Spring的常用jar文件 一、Spring相关基础知识&#xff08;引入S…...

【Swift 周报 第四十七期

文章目录 前言新闻和社区苹果财报来袭&#xff1a;营收有望再创新高 巴克莱或将惨遭打脸&#xff1f;Apple 为在全球范围内提供迷你 App 和游戏访问的流媒体游戏服务和 App 发布新选项Swift Student Challenge 将于 2 月 5 日开放申请 提案通过的提案正在审查的提案 Swift论坛推…...

STM32(16)使用串口向电脑发送数据

发送字节 发送数组 发送字符和字符串 字符&#xff1a; 字符串&#xff1a; 字符串在电脑中以字符数组的形式存储...

利用大模型技术进行测试用例推荐如何实现

利用大模型技术进行测试用例推荐&#xff0c;可以通过以下步骤实现&#xff1a; 确定目标和需求&#xff1a;明确测试用例推荐的目标和需求&#xff0c;例如推荐哪些类型的测试用例、推荐的数量、推荐的准确率等。 收集数据&#xff1a;收集历史测试用例、需求文档、设计文档等…...

Linux学习:初识Linux

目录 1. 引子&#xff1a;1.1 简述&#xff1a;操作系统1.2 学习工具 2. Linux操作系统中的一些基础概念与指令2.1 简单指令2.2 ls指令与文件2.3 cd指令与目录2.4 文件目录的新建与删除指令2.5 补充指令1&#xff1a;2.6 文件编辑与拷贝剪切2.7 文件的查看2.8 时间相关指令2.9 …...

免费文档下载终极指南:一键获取百度文库、豆丁网等30+平台资源

免费文档下载终极指南&#xff1a;一键获取百度文库、豆丁网等30平台资源 【免费下载链接】kill-doc 看到经常有小伙伴们需要下载一些免费文档&#xff0c;但是相关网站浏览体验不好各种广告&#xff0c;各种登录验证&#xff0c;需要很多步骤才能下载文档&#xff0c;该脚本就…...

智能停车系统告别拥堵!巨有科技让景区停车畅行无忧

每逢节假日&#xff0c;景区停车场便成了“重灾区”——入口大排长龙、场内找位半小时、缴费排队苦不堪言。这不仅严重消耗游客耐心&#xff0c;更直接拉低景区口碑与运营效率。在文旅消费持续回暖的今天&#xff0c;停车体验已成为衡量景区服务力的关键指标。巨有科技以数据驱…...

工业自动化设备电流检测解决方案——工业控制系统为什么越来越重视隔离电流检测

在工业自动化设备中&#xff0c;电流检测已经成为控制系统的重要组成部分。无论是PLC控制柜、伺服驱动器、工业电源、机器人控制系统还是变频器系统&#xff0c;控制器都需要实时获取负载电流信息&#xff0c;用于过流保护、闭环控制、功率计算以及设备状态监测。但很多工程师在…...

ARMv8 AArch32虚拟内存系统与异常处理机制详解

1. AArch32虚拟内存系统架构概述AArch32是ARMv8架构中的32位执行状态&#xff0c;其虚拟内存系统架构(VMSAv8-32)是现代嵌入式系统和虚拟化平台的核心组件。这套系统通过精巧的硬件设计实现了内存隔离、访问控制和地址转换等关键功能。VMSAv8-32最显著的特点是采用了两阶段地址…...

保姆级教程:用H3C设备搭建星型(Hub-Spoke)IPsec VPN,实现分支互访

企业级星型IPsec网络架构实战&#xff1a;基于H3C设备的Hub-Spoke模型部署指南 当企业业务规模从单一总部扩展到多分支机构时&#xff0c;网络架构的复杂性和安全性需求呈指数级增长。某零售企业在全国部署300家门店后&#xff0c;发现传统的点对点网络连接方式导致设备配置量激…...

C++位运算技巧应用

C位运算技巧应用位运算是直接操作二进制位的运算&#xff0c;具有极高的执行效率。掌握位运算技巧可以优化算法性能并实现紧凑的数据表示。基本位运算包括与、或、异或、取反和移位操作。#include #includevoid basic_bitwise_operations() { unsigned int a 0b1010; unsigned…...

UxPlay应用场景:从家庭娱乐到企业演示的全面解决方案

UxPlay应用场景&#xff1a;从家庭娱乐到企业演示的全面解决方案 【免费下载链接】UxPlay AirPlay Unix mirroring server 项目地址: https://gitcode.com/gh_mirrors/uxp/UxPlay UxPlay是一款功能强大的AirPlay Unix镜像服务器&#xff0c;它让Linux、macOS和Unix系统能…...

Lemur性能优化:10个提升证书管理平台响应速度的技巧

Lemur性能优化&#xff1a;10个提升证书管理平台响应速度的技巧 【免费下载链接】lemur Repository for the Lemur Certificate Manager 项目地址: https://gitcode.com/gh_mirrors/le/lemur Lemur作为一款开源证书管理平台&#xff0c;能够帮助用户轻松管理SSL/TLS证书…...

Unity角色移动手感优化:从WASD输入到物理移动的完整链路

1. 这不是“写个Input.GetAxis”就能跑通的移动逻辑在Unity项目里&#xff0c;只要角色需要被玩家操控&#xff0c;WASDQEShift这套组合键几乎就是默认配置——它不依赖鼠标、不强制视角绑定、兼容手柄映射&#xff0c;是PC端第三人称/第一人称角色最基础也最易被低估的交互层。…...

JWT密钥轮换缺陷与零停机热修复实战指南

1. 这不是一次普通升级&#xff0c;而是一次密钥信任体系的临界点崩塌Seedance2.0 v2.0.3发布不到72小时&#xff0c;我在给客户做例行安全巡检时&#xff0c;发现一个反直觉的现象&#xff1a;所有新签发的JWT令牌在旧版本客户端&#xff08;v2.0.2&#xff09;上验证失败&…...