Nginx Location模块
相关知识点:
URI:统一资源标识符,是一个用于标识某一互联网资源名称的字符串,该种标识允许用户对任何的资源通过特定的协议进行交互操作。
URL:统一资源定位符,由三部分组成(1)http://协议 (2)存有该资源的主机IP地址 (3)主机资源的具体地址,如目录和文件名。
web上可用的每种资源(HTML文档、图像、视频片段、程序等)都由一个通用资源定位符(URL)进行定位。
location是Nginx配置中的一个指令,用于和访问的URL匹配,而在这个location中所匹配的每个指令将会启动不同的模块去完成相应的工作。
= 请求字符串与URI精确匹配,匹配成功,就停止搜索,立即执行。常用来匹配某一特定文件。
^~ 最大前缀匹配,处理字符串与URI标识匹配度最高的location块,不再使用location块中的正则URI与请求字符串进行匹配。
/ 最大前缀匹配,不带任何前缀。
~ 与大小写相关的正则匹配。
~* 与大小写无关的正则匹配。
(location=)> (location完整路径)>(location^~路径)>(location~ | location~* 正则顺序)>(location部分起始路径)>(location /)
.*\.(gif)$ 描述
.* :任何字符(.任意1个字符,*表示匹配多次)
\. : 转义.gif前面的点号。
(gif) :匹配gif字符,需要以gif结尾的字符才能匹配
$ :必须以gif结尾。
root :服务器接收到请求以后查找资源的根目录路径。
index :匹配发布目录的默认的网站后缀名称。
更改location的URI
alias指令可以改变location接收到的URI的请求路径,语法结构如下:
alias path; #path即为修改后的根路径。
例:
location ~ /data/.\(html)$
{
alias /locationtest/other/$1; #把访问目录/data/改为 /locationtest/other/,请求会访问/locationtest/other/目录下.html结尾的文件,而不再访问/data/目录下的文件。
}
生产环境实际使用建议:
1. 直接匹配网站根,通过域名访问网站首页比较频繁,使用这个会加速处理。
2.第一个必选规则:
location = / {
proxy_pass http://tomcat:8080/index.php
}
3. 第二个必选规则是处理静态文件请求,这是Nginx作为http服务器的强项。
4. 有两种配置模式,目录匹配或后缀匹配,任选其一或搭配使用。
location ^~ /static/ {
root /webroot/static/ ;
}
location ~* \.(gif| | jpg | jpeg | png | css | js | ico )$ {
root /webroot/res/;
}
5.第三个规则就是通用规则,用来转发静态请求到后端应用服务器。
6.非静态文件请求就默认是动态请求,自己根据实际把握。
location / {
proxy_pass http://tomcat:8080/
}
Nginx Location模块的更多相关文章
- Nginx location模块整理
location模块 Nginx location location 指令的作用是根据用户请求的URI来执行不同的应用,URI就是根据用户请求到的网址URL进行匹配,匹配成功了进行相关的操作. loc ...
- nginx location模块--匹配规则
Location语法语法:location [=|~|~*|^~] /uri/ { … } = --> 开头表示精确匹配 ^~ --> 开头表示uri以某个常规字符串开头,理解为匹配url ...
- Nginx中location模块的详细配置(含示例)
题记 此前在配置Nginx location模块的时候玩出了一些bug,折腾了一段时间.后来网上也查阅了相关的资料,看着也比较混乱.周末有空想着好好整理一下location模块的配置,结合自己的亲手实 ...
- Nginx location 匹配顺序整理
Nginx location模块整理 具体的Nginx安装就不在这里描述了,这里只是为了对location的描述 Nginx环境 a. 查看当前系统cat /etc/redhat-release [r ...
- Nginx配置之location模块和proxy模块
1.location指令的用法介绍 Location主要用来匹配url,如:http://www.beyond.com/nice,在这里对于location来说www.beyond.com是域名,/n ...
- Nginx 切片模块、断点续传
熟悉 CDN 行业主流技术的朋友应该都比较清楚,虽然 Nginx 近几年发展的如日中天,但是基本上没有直接使用它自带的 proxy_cache 模块来做缓存的,原因有很多,例如下面几个: 不支持多盘 ...
- mac下Nginx+lua模块编译安装
Nginx的nb之处就不说了,lua也是一个小巧的脚本语言,由标准C编写而成,几乎可以运行在所有的平台上,也非常强大,其他特性请自行度娘.nginx_lua_module是由淘宝的工程师清无(王晓哲) ...
- nginx location的配置
文章转自:http://www.ttlsa.com/nginx/nginx-location-configure/ location的语法配置规则: 语法规则: location [=|~|~*|^~ ...
- nginx -- handler模块(100%)
handler模块简介 相信大家在看了前一章的模块概述以后,都对nginx的模块有了一个基本的认识.基本上作为第三方开发者最可能开发的就是三种类型的模块,即handler,filter和load-ba ...
随机推荐
- Django 添加自定义包路径
在设置文件里: import sys sys.path.insert(0,os.path.join(BASE_DIR,"要导包的目录名")) 用pycharm时,如果导包后没有自动 ...
- Fiddler基础教程
一.Fiddler的基本介绍 Fiddler的官方网站: www.fiddler2.com Fiddler官方网站提供了大量的帮助文档和视频教程, 这是学习Fiddler的最好资料. Fiddler ...
- Latex 数学公式使用入门
Latex 数学公式使用示例 Latex 数学公式命令中,数学符号都使用反斜杠(backslash, '\')转义英文缩略词 , 一些简单的数学符号命令: 其使用大括号(curly braces, ' ...
- SQL Server 索引知识-结构,实现
索引的作用毋庸置疑,但他是如何组织,并实现提高语句访问效率的呢?本篇文章为大家做个详细的介绍. 聚集索引架构 B-tree 如图1-1 a.B-tree的结构,叶子节点为数据.数据按照聚集索引键有序排 ...
- 避免重复插入数据sql server
insert into TN_JOBS(JAVA_ID,SERVER_IP,SERVER_PORT,JOB_CODE,JOB_NAME,JOB_START_TIME,JOB_MSG,JOB_STATU ...
- 显示脉冲效果的PulsingView
显示脉冲效果的PulsingView 效果如下: 源码: PulsingView.h 与 PulsingView.m // // PulsingView.h // PulsingView // // ...
- Windows与Linux 互相访问,挂载过程
开始使用Linux时浏览器无法访问,多次尝试以失败告终,果断放弃自我动手, 找了大神帮助,弄了半天终于可以访问.但是之前在Windows下的文件也不能放弃,从大神那里那里文档,然后进行尝试 1.在Wi ...
- 铁乐学python-面向对象的更多说明
以下内容摘自授课老师的博客http://www.cnblogs.com/Eva-J/ 面向对象的更多说明 面向对象的软件开发 很多人在学完了python的class机制之后,遇到一个生产中的问题,还是 ...
- LinkedHashSet 元素唯一,存储取出有序
package cn.itcast_04; import java.util.LinkedHashSet; /* * LinkedHashSet:底层数据结构由哈希表和链表组成. * 哈希表保证元 ...
- October 06th 2017 Week 40th Friday
The greatest ideal man can set before himself is self-perfection. 一个人最高的理想是自我完善. To be better than t ...