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

长宁网站制作昆明网站设计建设

长宁网站制作,昆明网站设计建设,服装网站源码php,东营建设有限公司Nginx的location块相关知识积累 01-location块的优先级 注意:如果Nginx的配置中有多个location块,那么各location块的匹配优先级并不是完全按照代码的先后顺序来决定各location优先级的。而是按下面的规则来决定的: 在 Nginx 中&#xff0c…

Nginx的location块相关知识积累

01-location块的优先级

注意:如果Nginx的配置中有多个location块,那么各location块的匹配优先级并不是完全按照代码的先后顺序来决定各location优先级的。而是按下面的规则来决定的:
在 Nginx 中,location块的匹配是按照以下原则的:

  1. 前缀匹配: 具有更长前缀的 location 会优先匹配。如果一个 location 的前缀是另一个 location 的前缀,那么较长前缀的 location 会被优先匹配。

  2. 正则表达式匹配: 如果存在正则表达式匹配的 location,那么正则表达式匹配会优先于前缀匹配。在正则表达式匹配中,越具体的规则(越长或者包含特定字符)会优先匹配。

比如有下面的Nginx的location配置代码:

    location / {proxy_pass http://127.0.0.1:55113;}#301 Not Config#拒绝访问的文件location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md){return 404;}#静态文件location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)${expires 30d;error_log off;access_log /dev/null;}location ~ .*\.(js|css)?${expires 12h;error_log off;access_log /dev/null;}

在这个 Nginx 配置中,按照以上原则,location块的优先级顺序是:

  1. /:最基本的前缀匹配,匹配所有请求。因为它是最短的前缀匹配,而不是正则匹配,所以是最低优先级。

  2. ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md):正则表达式匹配,匹配特定文件路径的请求。

  3. ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$:正则表达式匹配,匹配以指定后缀结尾的静态文件请求。

  4. ~ .*\.(js|css)?$:正则表达式匹配,匹配以指定后缀结尾的静态文件请求。

即第1个匹配的优先级是最低的,即上面的4个location块被分成了两组:
第一组是第1个,属于前缀匹配;
第二组是第2、3、4个,都属于正则匹配。
如果一个请求能同时匹配第一组和第二组,那么将使用第二组中的location块,因为第二组的优先级比第一级的优先级高。如果一个请求能同时匹配第2、3、4个 location 块,将选择第2个 location 块,因为它在配置文件中出现得更早。

02-常见正则表达式

关于正则表达式,之前已经写了些文章了,在看以下内容前可以先复习一下。
01-Nginx中的正则匹配表达式操作符~~*的含义
02-正则表达式中+ 与 * 有啥区别?
03-Python的正则表达式re模块的compile()方法有什么作用?
04-正则表达式中的方括号[]有什么用?
05-正则表达式中的大括号-花括号{}有什么用?
06-Python正则表达式re模块的相关知识积累与博文汇总–这篇文章强烈建看一下!

02-01-~~*

~操作符表示区分大小写的匹配。
~*操作符表示不区分大小写的匹配。

02-02-~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md)

~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md)

~操作符表示区分大小写的匹配。
^操作符表示匹配字符串的开头位置,详情见:Python正则表达式re模块的相关知识积累与博文汇总的第04点。这里操作符^/合起来的^/表示匹配以斜杠/开头的路径。
\表示转义,因为点在正则表达式中是一个特殊字符,表示匹配任意字符(除了换行符)。所以\. 是为了匹配实际的点。
所以整个正则表达式:

~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md)

表示匹配以下面为前缀的URL路径:

/.user.ini
/.htaccess
/.git
/.svn
/.project
/LICENSE
/README.md

即网站根目录下的文件或目录.user.ini、.htaccess、.git、.svn、.project、LICENSE、README.md是禁止访问的。
注意:URL路径:/.svn/configure.txt 也是被匹配的。因为前缀/.svn/得到了匹配。

02-3-~ .*\.(gif|jpg|jpeg|png|bmp|swf)$

~ .*\.(gif|jpg|jpeg|png|bmp|swf)$

出自:

    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)${expires 30d;error_log off;access_log /dev/null;}

~操作符表示区分大小写的匹配。
.*.在正则表达式中是一个特殊字符,表示匹配任意字符(除了换行符)。*表示匹配前面的模式零次或多次。整个合起来是说“匹配任意字符零次或多次”。
\.:其中的\表示转义,因为点在正则表达式中是一个特殊字符,表示匹配任意字符(除了换行符)。所以\. 是为了匹配实际的点。
$:表示在字符串的结尾处进行匹配。
所以上面这个正则表达式是匹配图片类静态资源。

02-04-~ .*\.(js|css)?$

~ .*\.(js|css)?$

出自:

    location ~ .*\.(js|css)?${expires 12h;error_log off;access_log /dev/null;}

~操作符表示区分大小写的匹配。
.*.在正则表达式中是一个特殊字符,表示匹配任意字符(除了换行符)。*表示匹配前面的模式零次或多次。整个合起来是说“匹配任意字符零次或多次”。
\.:其中的\表示转义,因为点在正则表达式中是一个特殊字符,表示匹配任意字符(除了换行符)。所以\. 是为了匹配实际的点。
?: 这表示前面的字符(这里是 (js|css))是可选的,可以出现零次或一次。在这里,它表示文件名可能以 .js.css 结尾,也可能没有这两者。
$:表示在字符串的结尾处进行匹配。

所以上面这个正则表达式是匹配以 .js.css 或以.结尾但无具体的文件后缀名结尾的静态资源。

03-常用语句

03-1-expires

例1:

    location ~ .*\.(js|css)?${expires 12h;error_log off;access_log /dev/null;}

例2:

    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)${expires 30d;error_log off;access_log /dev/null;}

expires 12h;: 此指令设置内容的过期时间。它告诉客户端(浏览器)将文件缓存 12 小时 (12h)。这可以通过在指定的时间范围内减少客户端反复下载相同静态文件的需求来提高网站性能。

expires 30d;: 此指令设置内容的过期时间。它告诉客户端(浏览器)将文件缓存 30 天 (30d)。这可以通过在指定的时间范围内减少客户端反复下载相同静态文件的需求来提高网站性能。

03-2-error_log off

例:

    location ~ .*\.(js|css)?${expires 12h;error_log off;access_log /dev/null;}

error_log off;: 此指令关闭了匹配此位置的请求的错误日志记录。这意味着与 JavaScript 和 CSS 文件相关的请求错误将不会被记录。

03-3-access_log

例:

    location ~ .*\.(js|css)?${expires 12h;error_log off;access_log /dev/null;}

access_log /dev/null;: 此指令将访问日志路径设置为 /dev/null,有效地禁用了与此位置匹配的请求的访问日志记录。访问日志记录有关每个请求的信息,通过将其重定向到 /dev/null,你正在丢弃这些特定请求的详细访问日志信息。如果不需要为某些静态文件生成详细的访问日志,这样做可以减少磁盘 I/O 并提高性能。

http://www.yayakq.cn/news/486908/

相关文章:

  • 网站项目建设策划书流程美丽乡村网站建设
  • 制作营销网站模板wordpress拖拽插件
  • 迅博威网站建设网页开发文档模板
  • 网站外部链接建设福田网站网页设计
  • 高校网站建设资料库做的好的商城网站设计
  • 网站二级目录做优化做网站公司赚不赚钱
  • 能直接用网站做海报吗网站模拟课堂模式应该怎么做
  • 汕头企业网站建设服务网站后台维护教程视频
  • 建设公司网站需要准备什么科目两学一做专题教育网站
  • 崇礼做网站的公司市场咨询公司排名
  • 10个著名摄影网站电商怎么做的步骤
  • 平面设计网站导航se 网站优化
  • 百度关键词优化送网站lcms是什么意思
  • wordpress建站什么意思深圳网站建设厂家
  • 网站 数据库 sql 导入网站建设一二级目录
  • 商城网站功能模块有哪些杭州网站设计成功柚v米科技
  • 广东微信网站制作报价wordpress怎么能把文章采集
  • 做消费金融网站外贸平台自建站
  • 专门做外国的网站怎么弄一个电商平台
  • 网站输入卡密提取怎么做邯郸免费网络
  • 长沙专业网站建设哪家好网站项目功能需求清单
  • 制作网站空间域名vultr 做网站空间
  • 新手建设html5网站世界工厂采购网站
  • 网络工程师自学网站做擦边网站 服务器
  • 南海做网站aaa免费服务器
  • 1元做网站方案高密做网站的价格
  • 深圳做生鲜食材的网站叫什么建设部网站如何下载文件
  • 搬瓦工wordpress建站网站三要素关键词 描述怎么做
  • 网站设计制作哪里好在电脑上做二建题 哪个网站好
  • 国内做的比较好的数据网站百度推广app下载