nginx location是什么

在项目开发中经常会遇到nginx配置文件中,会有很多条location配置,却读不懂其中的含义而烦恼

nginx location是什么

Location是nginx中的块级指令(block directive),通过配置Location指令块,可以决定客户端发过来的请求URI如何处理(是映射到本地文件还是转发出去)及被哪个location处理。

Location基本语法

修饰符(modifier)          location [ = | ~ | ~* | ^~ ]     uri     { ... }  location根据不同的修饰符可以分为两大类 前缀location(prefix location):  无修饰符的普通location 带=的精准匹配location 带^~的非正则表达式location 正则表达式location(regular expressions location): ~    区分大小写的正则location ~*   不区分大小写的正则location

 location的匹配示例:

ocation = / { [ configuration A ] }                     #用户请求"/"时,匹配A,例如:www.pcm.com/ location / { [ configuration B ] }                       #当用户请求"/index.html"时,匹配B,例如:www.pcm.com/index.html location /documents/ { [ configuration C ] }             #当用户请求"/documents/"时,匹配C,例如:www.pcm.com/documents/index.html       location ^~ /images/ { [ configuration D ] }             #当用户请求"/images/"时,匹配D,:www.pcm.com/images/1.jpg  location ~* .(gif|jpg|jpeg)$ { [ configuration E ] }    #当用户请求".gif|.jpg|.jpeg"时,匹配E,例如:www.pcm.com/documents/1.jpg                                                          #上面的反斜杠是转义字符,$的意思是结尾

下面是一个location配置参考,以及不同的请求uri到达nginx时会执行的规则

location / {     [ configuration B ] }  location /documents/ {     [ configuration C ] }  location ^~ /images/ {     [ configuration D ] }  location ~* .(gif|jpg|jpeg)$ {     [ configuration E ] }  请求URI                        执行的规则 /                             A /index.html                   B /documents/document.html      C /images/1.gif                 D /documents/1.jpg              E

更多Nginx相关技术文章,请访问Nginx使用教程栏目进行学习!

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享