博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Nginx学习笔记——location
阅读量:6371 次
发布时间:2019-06-23

本文共 1460 字,大约阅读时间需要 4 分钟。

hot3.png

配置详解

location语法

location [=|~|~*|^~|@] /uri/ { … }

~ 正则匹配

~* 正则匹配且不区分大小写

= 非正则匹配,执行普通匹配,遵守 严格匹配(完全一样)

^~ 非正则匹配,执行普通匹配,遵守 最大前缀(前缀一样即可,有多个选择最大前缀匹配的)

 

一般情况 普通匹配后 如果正则匹配成功 则覆盖普通匹配,除非使用 = 或者 ^~ 亦或者隐含的精确匹配 

eg1

a) location /a/b/c.html{} (特殊情况 属于最大前缀匹配的精确匹配)
b) location /a/{}
c) location ~ \.html${}
> GET /a/c.html 会匹配到 c)
> GET /a/b/c.html 会匹配到 a)

所以匹配优先级

(=) > (完整路径) > (^~ 路径) > (~,~* 正则顺序) > (部分起始路径) > (/)

建议配置(转载 )

#直接匹配网站根,通过域名访问网站首页比较频繁,使用这个会加速处理,官网如是说。#这里是直接转发给后端应用服务器了,也可以是一个静态首页# 第一个必选规则location = / {    proxy_pass http://tomcat:8080/index}# 第二个必选规则是处理静态文件请求,这是nginx作为http服务器的强项# 有两种配置模式,目录匹配或后缀匹配,任选其一或搭配使用location ^~ /static/ {    root /webroot/static/;}location ~* \.(gif|jpg|jpeg|png|css|js|ico)$ {    root /webroot/res/;}#第三个规则就是通用规则,用来转发动态请求到后端应用服务器#非静态文件请求就默认是动态请求,自己根据实际把握#毕竟目前的一些框架的流行,带.php,.jsp后缀的情况很少了location / {    proxy_pass http://tomcat:8080/}

==============================================================================

location内部配置(有待补充)

proxy_pass http://localhost:8080$request_uri

被代理服务器的URL
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
以上三行,目的是将代理服务器收到的用户的信息传到真实服务器上

===============================================================================

最近遇到的问题(20160920)

静态资源配置的时候

location ~* /blog/img {	root	/usr;}#这个location 会将 匹配/blog/img路径的请求,指定到 /usr/blog/img/... 文件#此处需注意静态资源访问,需要nginx所属用户、用户组有权限

 

转载于:https://my.oschina.net/taoluoluo/blog/734716

你可能感兴趣的文章
环球花木网的目标就是致力于打造成为“园林相关行业的专业性门户网站
查看>>
《编写高质量代码:改善c程序代码的125个建议》—— 建议14-1:尽量避免对未知的有符号数执行位操作...
查看>>
《C语言编程魔法书:基于C11标准》——2.2 整数在计算机中的表示
查看>>
全球程序员编程水平排行榜TOP50,中国排名第一
查看>>
HDFS 进化,Hadoop 即将拥抱对象存储?
查看>>
Edge 浏览器奇葩 bug:“123456”打印成“114447”
查看>>
Sirius —— 开源版的 Siri ,由 Google 支持
查看>>
《OpenGL ES应用开发实践指南:Android卷》—— 2.7 小结
查看>>
《Windows Server 2012活动目录管理实践》——第 2 章 部署第一台域控制器2.1 案例任务...
查看>>
Java Date Time 教程-时间测量
查看>>
Selector.wakeup实现注记
查看>>
《Java EE 7精粹》—— 第1章 Java EE 1.1 简介
查看>>
《Exchange Server 2013 SP1管理实践》——导读
查看>>
syslog:类Unix系统常用的log服务
查看>>
使用Annotation设计持久层
查看>>
深入实践Spring Boot2.4.1 Neo4j依赖配置
查看>>
Zen Cart 如何添加地址栏上的小图标
查看>>
SecureCrt 连接Redhat linux
查看>>
[NHibernate]持久化类(Persistent Classes)
查看>>
如何在Hive中使用Json格式数据
查看>>