网站首页 > 技术教程 正文
nginx相对来说已经是主流web服务器/反向代理服务器,内存占用小,并发能力超强的优势,是我们选择他的关键。
在我们刚涉及nginx时候,学习配置文件,会有一个疑问:location是不是按照先后顺序来决定优先级的。这个问题解决清楚,对我们以后深入学习有不少帮助,接下来我们分析一下location的优先级问题。
首先,答案就是:在nginx的location和配置中location的顺序没有绝对关系,与location表达式的类型有关。相同类型的表达式,字符串长的才会优先匹配。
那么,不同类型的表达式怎么区分呢,如下:
- 等号类型 ( = ) 的优先级最高。一旦匹配成功,则不再查找其他匹配项。
- 然后是( ^~ )类型表达式。一旦匹配成功,则不再查找其他匹配项。
- 正则表达式类型( ~ ~* )的优先级次之。如果有多个location的正则能匹配的话, 则优先使用正则表达式最长的那个。
- 最后是常规字符串匹配类型,则按照前缀来匹配。
- 当然也可以说最后是根 ( / ),因为根始终是最后匹配的。
接下来,我们举例说明:
location = / {
# 精确匹配 / ,主机名后面不能带任何字符串
location /documents/ {
# 匹配任何以 /documents/ 开头的地址,匹配符合以后,还要继续往下搜索
# 只有后面的正则表达式没有匹配到时,这一条才会采用这一条
location ^~ /images/ {
# 匹配任何以 /images/ 开头的地址,匹配符合以后,停止往下搜索正则,采用这一条。
location ~* \.(gif|jpg|jpeg)$ {
# 匹配所有以 gif或jpg或jpeg 结尾的请求
# 然而,所有请求 /images/ 下的图片会被 config D 处理,因为 ^~ 到达不了这一条正则
# 这里反斜线是取反的意思,取反后面的正则里面的点
现在对前面4个例子中出现的符号进行解释:
^~ 开头表示uri以某个常规字符串开头,不是正则匹配
~ 开头表示区分大小写的正则匹配;
~* 开头表示不区分大小写的正则匹配
/ 通用匹配, 如果没有其它匹配,任何请求都会匹配到
明天再举几个例子进行分析,今晚先写这么多。
猜你喜欢
- 2024-10-12 Nginx配置文件中location的优先级答疑(2)
- 2024-10-12 Nginx的server块和location块的简单说明
- 2024-10-12 nginx location在配置中的优先级(nginx配置location总结及rewrite规则写法)
- 2024-10-12 一分钟搞清楚:Nginx之Location优先级
- 2024-09-25 Nginx无法获取带下划线的请求头数据问题
- 2024-09-25 Nginx性能优化、定位调试、请求与限制、文件操作优化等应用
- 2024-09-25 Nginx学习笔记(15) proxy_pass用法常见误区
- 2024-09-25 Nginx简介以及常见配置(nginx简单配置)
- 2024-09-25 nginx中location的常用配置如下:(nginx中location的作用)
- 2024-09-25 nginx配置之location(nginx location /api)
你 发表评论:
欢迎- 最近发表
-
- Win10 TH2正式版官方ESD映像转换ISO镜像方法详解
- 使用iso镜像升级到Windows 10的步骤
- macOS Ventura 13.2 (22D49) Boot ISO 原版可引导镜像
- 安利一个用ISO镜像文件制作引导U盘的的小工具RUFUS
- CentOS 7使用ISO镜像配置本地yum源
- 用于x86平台的安卓9.0 ISO镜像发布下载:通吃I/A/N、完全免费
- AlmaLinux 9.6发布:升级工具、初步支持IBM Power虚拟化技术
- Rufus写入工具简洁介绍与教程(写入模式)
- 新硬件也能安装使用了,Edge版Linux Mint 21.3镜像发布
- 开源工程师:Ubuntu应该抛弃32位ISO镜像
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)