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

Nginx解析:入门笔记

🌈 个人主页:danci_
🔥 系列专栏:《设计模式》《MYSQL》
💪🏻 制定明确可量化的目标,坚持默默的做事。


  

✨欢迎加入探索nginx之旅✨

    👋 大家好!文本学习和探索Nginx配置。✨欢迎踏入Nginx的奇妙世界!作为高性能Web服务器与反向代理的佼佼者,Nginx以它的轻量级、高并发处理能力,在全球范围内赢得了无数开发者的青睐。💡今天,就让我们一同揭开Nginx的神秘面纱,探索它如何为网站加速,赋能云端。

一、基本语法

location指令的基本语法如下:

location [=|~|~*|^~] uri { ... }

  • [=|~|~*|^~]:这部分是可选的修饰符,用于指定匹配的类型。
    • =:表示精确匹配。如果请求的URI与location后指定的字符串完全相等,则匹配成功。
    • ~:表示区分大小写的正则匹配。
    • ~*:表示不区分大小写的正则匹配。
    • ^~:表示URI以某个常规字符串开头,如果匹配成功,则不再进行正则表达式匹配。
  • uri:待匹配的请求字符串,可以是不包含正则表达式的标准URI,也可以是包含正则表达式的正则URI。

二、常见配置及作用

 

  1. 精确匹配(=
    • 作用:当请求的URI与location后指定的字符串完全相等时,直接应用该location块中的配置。
    • 示例:location = / { ... } 表示只有当请求的URI恰好为/时,才会应用该配置。
  2. 正则匹配(~ 和 ~*
    • 作用:通过正则表达式来匹配请求的URI,~区分大小写,~*不区分大小写。
    • 示例:location ~ \.(gif|jpg|png)$ { ... } 表示匹配所有以.gif.jpg.png结尾的请求,并执行相应配置。
  3. 前缀匹配(无修饰符和^~
    • 无修饰符:表示请求的URI以指定的字符串开头。Nginx会首先检查所有无修饰符的location块,并记录最长的匹配结果,然后才会进行正则匹配。
    • ^~:与无修饰符类似,也是前缀匹配,但如果匹配成功,则不再进行正则表达式的匹配。
    • 示例:location ^~ /images/ { ... } 表示匹配所有以/images/开头的请求,并且一旦匹配成功,将不再检查后续的正则表达式匹配。
  4. 根匹配(/
    • 作用:作为默认匹配,当没有任何其他location块匹配成功时,Nginx会使用根匹配(即/)来处理请求。
    • 示例:location / { ... } 表示匹配所有未被其他location块匹配的请求。

三、其他相关配置

location块中,还可以配置各种指令来控制请求的处理方式,如:

  • root:设置请求的根目录,Nginx将在这个目录下查找请求的资源。
  • alias:设置请求的别名目录,与root不同,alias会将请求的URI替换为指定的路径。
  • index:指定默认索引文件的名称,当请求的是一个目录时,Nginx会尝试返回该目录下的索引文件。
  • proxy_pass:将请求代理到后端服务器。
  • rewrite:重写请求的URI。
  • try_files:尝试不同的文件或路径,直到找到一个存在的文件或目录。

四、匹配优先级

Nginx在处理请求时,会按照以下顺序匹配location块:

  1. 精确匹配(=)。
  2. 前缀匹配(^~),如果匹配成功,则不再进行正则匹配。
  3. 正则匹配(~ 和 ~*),按配置文件中出现的顺序进行匹配。
  4. 前缀匹配(无修饰符),记录最长的匹配结果。
  5. 根匹配(/)。

当找到匹配的location块后,Nginx将停止搜索,并应用该块中的配置来处理请求。

    好了,今天分享到这里。希望你喜欢这次的探索之旅!不要忘记 "点赞" 和 "关注" 哦,我们下次见!🎈

相关文章:

Nginx解析:入门笔记

🌈 个人主页:danci_ 🔥 系列专栏:《设计模式》《MYSQL》 💪🏻 制定明确可量化的目标,坚持默默的做事。 ✨欢迎加入探索nginx之旅✨ 👋 大家好!文本学习和探索Nginx配置。…...

在 Mac 上安装双系统会影响性能吗,安装双系统会清除数据吗?

在 Mac 系统安装并使用双系统已经成为了许多用户办公的选择之一,双系统可以让用户在 Mac 上同时运行 Windows 或其他操作系统。然而,许多用户担心这样做会对 Mac 的性能产生影响。 接下来将给大家介绍 Mac 装双系统会影响性能吗,Mac装双系统…...

vue3提交按钮限制重复点击

下载lodash npm install lodash 引入并使用 <template><div click"submit()">提交</div> </template><script setup>import { debounce } from lodash;const submit debounce(() > {//业务代码},2000,{leading: true,trailing:…...

Java | Leetcode Java题解之第395题至少有K个重复字符的最长子串

题目&#xff1a; 题解&#xff1a; class Solution {public int longestSubstring(String s, int k) {int ret 0;int n s.length();for (int t 1; t < 26; t) {int l 0, r 0;int[] cnt new int[26];int tot 0;int less 0;while (r < n) {cnt[s.charAt(r) - a];…...

20240915 每日AI必读资讯

国家网信办发布《人工智能生成合成内容标识办法&#xff08;征求意见稿&#xff09;》 - 要求所有的AI生成内容都要打标&#xff0c;包括文字、图像、视频、音频… - 文本内容要插入标识符提醒&#xff0c;音频内容要在里面插入提示音 - 对创作者不太友好&#xff0c;对平台…...

量化交易需要注意的关于股票交易挂单排队规则的问题

炒股自动化&#xff1a;申请官方API接口&#xff0c;散户也可以 python炒股自动化&#xff08;0&#xff09;&#xff0c;申请券商API接口 python炒股自动化&#xff08;1&#xff09;&#xff0c;量化交易接口区别 Python炒股自动化&#xff08;2&#xff09;&#xff1a;获取…...

应急响应实战---是谁修改了我的密码?

前言&#xff1a;此次应急响应为真实案例&#xff0c;客户反馈无法通过密码登录服务器&#xff0c;疑似服务器被入侵 0x01 如何找回密码&#xff1f; 客户服务器为windows server2019&#xff0c;运维平台为PVE平台&#xff1b;实际上无论是windows系统或者是linux系统&#…...

知识的通用性

概述 很久没有写文章了&#xff0c;因为集团公司当前在大刀阔斧的改革&#xff0c;人员精简&#xff0c;很多事情都合并到同一个人身上&#xff0c;同时将内部的沟通软件平台又做一次大的切换&#xff0c;很多资料都需要重新的整理。 所以&#xff0c;抱歉&#xff0c;很多内…...

36岁,大厂女程序员,中年失业后,我开始接受自己的平凡,并深耕自己

作为80后秦岭大山里面的穷苦农民工家的孩子&#xff0c;从小因为讨厌做家务&#xff0c;做农活&#xff0c;而且家里孩子众多&#xff0c;物质匮乏&#xff0c;从小就特别渴望走出大山。 上学的时候&#xff0c;通过刻苦努力&#xff0c;成绩也还算可以&#xff0c;经常受到老师…...

shader 案例学习笔记之mix函数

mix函数&#xff1a; 在两个值之间进行插值&#xff1b; 使用&#xff1a; #ifdef GL_ES precision mediump float; #endifuniform vec2 u_resolution; uniform float u_time;vec3 colorA vec3(0.149,0.141,0.912); vec3 colorB vec3(1.0,0.83,0.224);void main(){vec2 st…...

OpenAI草莓正式发布,命名o1

一、相关介绍 当地时间 9 月 12 日&#xff0c;OpenAI 推出全新模型 o1&#xff0c;它是该公司计划推出的一系列“推理”模型中的首个&#xff0c;也就是此前业内传闻许久的“Strawberry&#xff08;草莓&#xff09;”项目。 据悉&#xff0c;o1 模型在众多任务中能够比人类更…...

心觉:以终为始,帮你精准实现目标

Hi&#xff0c;我是心觉&#xff0c;与你一起玩转潜意识、脑波音乐和吸引力法则&#xff0c;轻松掌控自己的人生&#xff01; 挑战每日一省写作169/1000天 假设你的目标是 一年内赚到150万。我们可以通过“以终为始”和“以始为终”的结合来帮助你实现这个目标 以下是完整的…...

【Kubernetes】linux centos安装部署Kubernetes集群

【Kubernetes】centos安装Kubernetes集群 1、环境准备 系统centos7 配置yum源参考文章 Centos系统换yum源 yum -y update 步骤1-3是所有主机都要配置&#xff0c;主机名和hosts配置完后可以使用工具命令同步 1.1 主机 一主二从 主机名ipk8smaster192.168.59.148k8snode11…...

canlog-vci can记录仪,速采仪如何用VBDSP进行解析曲线

如下图所示&#xff0c;VBDSP支持绘制解析曲线 添加解析曲线步骤 &#xff08;1&#xff09;在线播放DBC解析曲线 ① 添加要解析的规则&#xff0c;自定义规则/DBC解析规则、J1939协议、CANopen协议&#xff1b; ② 选中设备&#xff0c;点击“分析”栏中的“曲线”&#xff0…...

JCO|病理AI是精准医疗的未来吗?|个人观点·24-09-13

小罗碎碎念 今日顶刊&#xff1a;JCO 这篇文章于24-09-11发表于J Clin Oncol&#xff0c;目前IF42.1&#xff0c;但是注意&#xff0c;这篇文章是一篇观点类文章&#xff0c;而不是我们常规意义上的那种科研型文章。 我在原作者的基础上补充了很多精美插图&#xff0c;并且根据…...

idea一键自动化部署项目

文章目录 前言一、 IDEA插件安装1. 首先下载 Alibaba Cloud Toolkit 插件2. 插件下载完成后重启IDEA 二、SpringBoot项目准备1. pom.xml 文件2. controller3. 启动类 三、SpringBoot项目jar包部署1. Alibaba Cloud Toolkit 插件服务器配置2. 主机 IP、用户名、密码 点击测试链接…...

Mybatis-plus复习篇

文章目录 1.MyBatis-plus基础1.1.mybatis-plus简介1.2.基本使用1.3.注解映射主键生成策略 1.4.命名转换问题1.5.关闭命名转换功能 2.BaseMapper核心接口 1.MyBatis-plus基础 1.1.mybatis-plus简介 MyBatis-Plus&#xff08;简称 MP&#xff09;是一个 MyBatis的增强工具&…...

Leetcode 109.有序链表转换二叉搜索树(Medium)

给定一个单链表的头节点 head &#xff0c;其中的元素 按升序排序 &#xff0c;将其转换为 平衡 二叉搜索树。 示例 1: 输入: head [-10,-3,0,5,9] 输出: [0,-3,9,-10,null,5] 解释: 一个可能的答案是[0&#xff0c;-3,9&#xff0c;-10,null,5]&#xff0c;它表示所示的高度…...

[数据集][目标检测]河道垃圾检测数据集VOC+YOLO格式2274张8类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;2274 标注数量(xml文件个数)&#xff1a;2274 标注数量(txt文件个数)&#xff1a;2274 标注…...

python vtk 绘制圆柱体和包围盒

基本的代码如下&#xff0c; import vtkcylinder vtk.vtkCylinderSource() cylinder.SetRadius(3.0) cylinder.SetHeight(10.0) cylinder.SetResolution(50)boundsFilter vtk.vtkOutlineFilter() boundsFilter.SetInputConnection(cylinder.GetOutputPort())mapper vtk.vtk…...

Fisco Bcos 2.11.0通过网络和本地二进制文件搭建单机节点联盟链网络(搭建你的第一个区块链网络)

Fisco Bcos 2.11.0通过网络和本地二进制文件搭建单机节点联盟链网络(搭建你的第一个区块链网络) 文章目录 Fisco Bcos 2.11.0通过网络和本地二进制文件搭建单机节点联盟链网络(搭建你的第一个区块链网络)前言一、Ubuntu依赖安装二、创建操作目录, 下载build_chain.sh脚本2.1 先…...

【Canvas与表盘】绘制黄蓝两色简约表盘

【成图】 【代码】 <!DOCTYPE html> <html lang"utf-8"> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"/> <head><title>黄蓝卡通手表</title><style type"text/css">…...

大数据-128 - Flink 并行度设置 细节详解 全局、作业、算子、Slot

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; 目前已经更新到了&#xff1a; Hadoop&#xff08;已更完&#xff09;HDFS&#xff08;已更完&#xff09;MapReduce&#xff08;已更完&am…...

图新地球-将地图上大量的地标点批量输出坐标到csv文件【kml转excel】

0.序 有很多用户需要在卫星影像、或者无人机航测影像、倾斜模型上去标记一些地物的位置&#xff08;如电线杆塔、重点单位、下水盖等&#xff09; 标记的位置最终又需要提交坐标文本文件给上级单位或者其他部门使用&#xff0c;甚至需要转为平面直角坐标。 本文的重点是通过of…...

Git提交有乱码

服务器提交记录如图 可知application.properties中文注释拉黄线 &#xff0c;提示Unsupported characters for the charset ISO-8859-1 打开settings - Editor - File Encodings 因为我们项目的其他文件都是UTF-8&#xff0c;所以&#xff0c;我们将默认值都改成UTF-8 然后…...

leetcode hot100_part4_子串

2024/4/20—4/21 560.和为K的子数组 前缀和哈希表&#xff0c;做二叉树的时候也有这个套路。注意细节&#xff0c;遍历到当前前缀和的时候是先找结果个数还是先加入哈希&#xff1f;应该先找结果个数&#xff0c;不然的话&#xff0c;当前位置也算上了&#xff08;因为是前缀和…...

Spring Cloud之三 网关 Gateway

1:Intellij 新建项目 spring-cloud-gateway 2:pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLoca…...

Linux 进程1

进程 在linux系统中&#xff0c;触发任何一个事件时系统会将其定义为一个进程&#xff08;一个程序开始执行&#xff09;&#xff0c;系统会给这个进程分配一个进程ID统称为PID。 程序&#xff1a;通常是二进制文件&#xff0c;放置于存储媒介如硬盘中。 进程&#xff1a;当存…...

LeetCode: 2552. 统计上升四元组 动态规划 时间复杂度O(n*n)

2552. 统计上升四元组 today 2552. 统计上升四元组 题目描述 给你一个长度为n下标从 0 开始的整数数组 nums &#xff0c;它包含1到n的所有数字&#xff0c;请你返回上升四元组的数目。 如果一个四元组 (i, j, k, l) 满足以下条件&#xff0c;我们称它是上升的&#xff1a;…...

Unity 编辑器设置中文

在 Unity 编辑器中&#xff0c;你可以按照以下步骤将语言设置为中文&#xff1a; 步骤&#xff1a; 1. 打开 Unity 编辑器。 2. 在顶部菜单栏&#xff0c;依次点击 Edit > Preferences&#xff08;在 macOS 上是 Unity > Preferences&#xff09;。 3. 在弹出的 Preferen…...