《Nginx - location配置》
一:Location 作用
- location 定位 ,也就是可以通过不同URL进行定位,可以很大的增加它配置的灵活性。
二:相关变量
示例:
http://192.168.27.27/xxxx
$request_uri = /xxxx http://baidu.com/icon.png
$request_uri = /icon.png可以配置你的 Nginx 查看具体的 $request_uri 的值
location /requesturi {
add_header Content-type 'text/html; charset=utf-8';
return 200 $request_uri;
}
三:location的匹配规则
- 可以看到,匹配路由的话更多是匹配 $request_uri 的路径
- Nginx 可以在 location 中支持我们如下的匹配规则
= 开头表示精确匹配
^~ 开头,注意这不是一个正则表达式--它的目的是优于正则表达式的匹配。如果该location是最佳匹配,则不再进行正则表达式检测。
~ 开头表示区分大小写的正则匹配;
~* 开头表示不区分大小写的正则匹配
/ 通用匹配, 如果没有其它匹配,任何请求都会匹配到
- 具体用法
location = /demo/ {
在以等号为精确匹配时,$request_uri 必须等于 /demo/ 时才能匹配,不过这也印证了精确匹配这个词汇,准确,分毫不差。
} location ^~ /demo/ {
首要要注意的是这不是一个正则表达式的匹配,它的目的是优于正则表达式的匹配,可以匹配到满足'/demo/*'的所有url。
}
location ~ \.php$ {
好吧,这就是一个正则匹配了,上面表示匹配到结尾为 .php 的 url 路径。
}
location ~* \.php$ {
这个看起来和上面那个也没什么区别,有什么不同呢?不同是这个匹配开头不会区分大小写。注意了~!是开头
}
四: 匹配优先级
- [精确匹配 =] > [全匹配^~] > [正则匹配] > [进行通用匹配]
- 在实际应用中的推荐配置
所以实际使用中,个人觉得至少有三个匹配规则定义,如下:
#直接匹配网站根,通过域名访问网站首页比较频繁,使用这个会加速处理,官网如是说。
#这里是直接转发给后端应用服务器了,也可以是一个静态首页
# 第一个必选规则
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/
}
《Nginx - location配置》的更多相关文章
- 简单物联网:外网访问内网路由器下树莓派Flask服务器
最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...
- 利用ssh反向代理以及autossh实现从外网连接内网服务器
前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...
- 外网访问内网Docker容器
外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...
- 外网访问内网SpringBoot
外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...
- 外网访问内网Elasticsearch WEB
外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...
- 怎样从外网访问内网Rails
外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...
- 怎样从外网访问内网Memcached数据库
外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...
- 怎样从外网访问内网CouchDB数据库
外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...
- 怎样从外网访问内网DB2数据库
外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...
- 怎样从外网访问内网OpenLDAP数据库
外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...
随机推荐
- IIS6独立用户建立网站的方法,提高网站安全性
在Windows server 2003系统下,用IIS架设Web服务器,合理的为每个站点配置独立的Internet来宾账号,这样可以限制Internet 来宾账号的访问权限,只允许其可以读取和执行运 ...
- Nginx 访问日志
配置访问日志: [root@localhost ~]$ cat /usr/local/nginx/conf/nginx.conf http { log_format main '$remote_add ...
- 在eclipse里配置Android ndk环境 适用于windows mac 和linux(转)
在eclipse里配置Android ndk环境 适用于windows mac 和linux(转) 2012-02-27 13:02:16| 分类: android | 标签:java prog ...
- secureCRT使用退格键(backspace)出现^H解决办法
解决办法步骤如下: 选项--->会话选项---> 把下面两个打个钩就行了. 原文地址:http://skykiss.blog.51cto.com/blog/2892603/769771 另 ...
- hive异常:创建MySQL时Specified key was too long; max key length is 1000 bytes
2015-11-13 14:44:44,681 ERROR [main]: DataNucleus.Datastore (Log4JLogger.java:error(115)) - An excep ...
- Windows 系统提示“内存不足”的原因及解决方法
Windows 系统提示“内存不足”的原因及解决方法 windows XP vista 及windows 7系统的电脑有时候会出现系统提示“内存不足”,这是由多方面原因造成的.本文具体分析下 ...
- 【抓包分析】Charles和 夜神模拟器 对安卓应用进行抓包分析
准备工具 : 1 Charles : https://www.charlesproxy.com (收费) 2 夜神模拟器 : https://www.yeshen.com (免费) 2 模拟 ...
- 【Eclipse】Ubuntu 下菜单栏失效了,怎么办?(已解决)
如果你的 Ubuntu 的版本是 13.10 , 且你又安装了 Eclipse , 你就会发现 Eclipse 的菜单不起作用了. 就是点击 File , Edit ... 这些菜单,不会显示子菜单了 ...
- Linux(Ubuntu)下如何解压 .zip 文件
安装解压缩软件 使用如下命令安装: sudo apt-get install p7zip-full 7zip,估计会比较熟悉. p7zip,是什么? 听说是 7zip 的 shell 封装. 解压 使 ...
- SharpGL学习笔记(十) 常见的光源类型,创建光源
在OpenGL中,使用光源的特性组合,如颜色,位置,方向等等,可以创建多种不同类型的灯光. 常见的几种灯光类型有: 定向光源(directonal) 定位光源(positional) 衰减光源 聚光灯 ...