|
|
51CTO旗下网站
|
|
移动端

2.5.2 location 配置

《OpenResty完全2018送彩金的娱乐网站指南:构建百万级别并发的Web应用》第2章Nginx平台,本章将简要介绍Nginx 的特点和各种应用服务的配置方法,这是使用OpenResty 前必备的基本知识。本节为大家介绍location 配置。

作者:罗剑锋来源:电子工业出版社|2018-09-23 17:02

2.5.2 location 配置

location 指令定义Web 服务的接口(相当于RESTful 里的API),也就是URI,它是OpenResty 处理的入口,决定了请求应该如何处理。

location 是一个配置块,但语法稍多一些,除{}外还有其他的参数:

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

location 使用uri 参数匹配HTTP 请求里的URI,默认是前缀匹配,也支持正则表达式,uri 参数前可以使用特殊标记进一步限定匹配:

. = :URI 必须完全匹配;

. ~ :大小写敏感匹配;

. ~* :大小写不敏感匹配;

. ^~ :前缀匹配,匹配URI 的前半部分即可。

在server 块里可以配置任意数量的location 块,定义Web 服务接口。Nginx 对location 的顺序没有特殊要求,并不是按照配置文件里的顺序逐个查找匹配,而是对所有可能的匹配进行排序,查找最佳匹配的location。

不同的location 里可以有不同的处理方式,灵活设置location 能够让OpenResty配置清晰明了,易于维护。比如,我们可以在一个location 里存放静态html 文件,在另一个location 里存放图片文件,其他的location 则执行Lua 程序访问MySQL 数据库处理动态业务,这些location 互不干扰,修改其中的一个不会影响其他的正常运行。例如:

  1. location = /502.html #只处理/502.html 这一个文件  
  2. location /item/ #前缀匹配/item/*  
  3. location ^~ /image/ #显式前缀匹配/image/*  
  4. location ~ /articles/(\d+)$ #正则匹配/articles/*  
  5. location ~ /api/(\w+) #定义RESTful 接口  
  6. location / #匹配任意的URI 

需要注意最后一个“/”,根据前缀匹配规则,它能够匹配任意的URI,所以可以把它作为一个“黑洞”,处理所有其他location 不能处理的请求(例如返回404)。

如果location 配置很多,我们同样可以用include 的方式来简化配置。

喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书会第9群:808517103

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

Solaris 内核结构(第2版)

本书描述了Solaris 10和OpenSolaris内核中所有主要子系统的算法和数据结构,对第1版进行了大幅修订,加入了很多新的内容。全书从头到尾都采...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊
博聚网