location指令可以用于虚拟服务器server部分,并且意味着提供来自客户端的URI或者内部重定向访问。除少数情况外,location也可以被嵌套使用

格式如下

location [modifier] url {……}

或者是命名location

location @name {……}

命名location仅对内部访问重定向,在进入一个location之前他会保留被请求的URI部分,命名location只可以在server级别定义。

比如:

基于域名和端口

server {

listen80;  #监听端口

server_name a.com; #监听域名

location/ {

root /var/www/a.com;   #根目录定位

index index.html;

}

}

基于IP和端口

server {

listen 8080;

server_name 192.168.1.204;

location / {

root /var/www/html8080;

index index.html;

}

}

一 Location修饰符

nginx不对url做编码,因此请求为/static/20%/aa,可以被规则^~ /static/ /aa匹配到

二 仅用于location的指令

三 过期指令

expires 30d

location ~* .*\.(js|css)?$

{

expires 7d;

}

四 禁止下载文件

location ~*.*\.(zip|rar|exe|msi|iso|gho|mp3|rmvb|mp4|wma|wmv|rm)?$

{

denyall; //禁止这些文件下载,大家可以根据自己的环境来配置

}

五 根目录和首页

root /opt/site/a.example.com

index index.html index.htm

五 匹配顺序

首先匹配 =,其次匹配^~, 其次是按文件中顺序的正则匹配,最后是交给 / 通用匹配。当有匹配成功时候,停止匹配,按当前匹配规则处理请求。

listen      80;

server_name a.example.com

root /opt/site/a.example.com;

location / {

echo"/";

}

location = / {

echo"=/";

}

location = /nginx {

echo"=/nginx";

}

location ~ \.(gif|jpg|png|js|css)$ {

echo"不忽略大小写:staicresources";

}

location ~* \.png$ {

echo"忽略大小写staicresources";

}

location ^~ /static/ {

echo"include static path";

}

[dubbo@dubbo-01 nginx]$ curl http://a.example.com

=/

[dubbo@dubbo-01 nginx]$ curlhttp://a.example.com/nginx

=/nginx

[dubbo@dubbo-01 nginx]$ curlhttp://a.example.com/s/11.jpg

staic resources

[dubbo@dubbo-01 nginx]$ curlhttp://a.example.com/p/12.PNG

忽略大小写staic resources

[dubbo@dubbo-01 nginx]$ curlhttp://a.example.com/static/13.png

include static path

Nginx之location配置相关推荐

  1. Nginx的location配置详解

    Nginx的location配置详解 匹配顺序 location 的匹配顺序其实是先匹配普通,再匹配正则 正则匹配会覆盖普通匹配(实际的规则,比这复杂) 执行顺序 普通 location的匹配规则是& ...

  2. Nginx 的 Location 配置指令块

    最近一段时间在学习 Nginx ,以前一直对 Nginx 的 Location 配置很头大,最近终于弄出点眉目.总结如下: nginx 配置文件,自下到上分为三种层次分明的结构:  |    http ...

  3. nginx的location配置root、alias用法和区别

    root & alias区别 root与alias主要区别在于nginx如何解释location后面的uri,这会使两者分别以不同的方式将请求映射到服务器文件上 root的处理结果是:root ...

  4. Nginx教程-location配置

    语法规则 location [=|~|~*|^~] /uri/ { - } = 表示精确匹配,这个优先级也是最高的 ^~ 表示uri以某个常规字符串开头,理解为匹配 url路径即可.nginx不对ur ...

  5. Nginx之二:nginx.conf简单配置(参数详解)

    vim /usr/local/nginx/conf/nginx.conf #user nobody;#程序运行使用账户 worker_processes 1;#启动的进程,通常设置成和cpu的数量相等 ...

  6. nginx中location介绍

    http://www.cnblogs.com/lidabo/p/4169396.html   博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅  :: 管理 ::   ...

  7. nginx location配置 - ttlsa教程系列之nginx

    为什么80%的码农都做不了架构师?>>>    今天讲下location的用法,部分内容是直接从网络上摘取的,这边做了一个整理,为了便于理解和学习,我这边做了一些例子. 语法规则: ...

  8. Nginx——location配置

    1.基本语法 location [=|~|~*|^~|@] pattern {--} 其中,[=|~|~*|^~|@]被称作location modifier,这会定义Nginx如何去匹配其后的pat ...

  9. nginx location 配置详细解释

    语法规则: location [=|~|~*|^~] /uri/ { - } = 开头表示精确匹配 ^~ 开头表示uri以某个常规字符串开头,理解为匹配 url路径即可.nginx不对url做编码,因 ...

最新文章

  1. iOS应用版本更新(自动提醒用户)
  2. Mac OS X 使用命令sed替换tab
  3. 浏览器ERR_PROXY_CONNECTION_FAILED解决方法
  4. css知识笔记(四)——代码简写、颜色值、长度值
  5. [Tomcat报错]SEVERE: Error listenerStart
  6. Centos7 安装Go环境
  7. null最后如何排序的_LeetCode 148——排序链表
  8. c语言程序位置式pid算法,位置式PID算法的C语言代码
  9. 文件太大打不开,可以使用LogViewer
  10. 10-20210308华为海思Hi3516DV300在鸿蒙系统下测试网络(以太网+WIFI)
  11. python编写小程序、模拟实现自动按下键盘_Python 实现键盘鼠标按键模拟
  12. 考研基础高等数学笔记
  13. stm32驱动ili9486液晶显示屏
  14. 电源接头DC002的PCB封装
  15. web前端的css示例
  16. imageView图片放大缩小及旋转
  17. allegro ARTWORK设置笔记
  18. f开头的流媒体软件_流媒体直播工具(Streamon)
  19. 奥维地图数据格式_如何批量将文本格式的经纬度数据导入到奥维成为标签
  20. LeetCode q22

热门文章

  1. 计算机组成材质,计算机组成原理及应用期末复习材料
  2. 麦块服务器显示连接已丢失,麦块服务器密码怎么设置
  3. python使用joblib多进程执行for循环
  4. 解决selenium连接driver报错Message: Can not connect to the Service chromedrive
  5. python网页调用摄像头_Python调用摄像头
  6. 查看服务器是有有默认共享文件,服务器共享文件远程查看
  7. data image java,类 java.awt.image.DataBuffer 的使用 (Java 2 Platform SE 6)
  8. c语言编程命令,C语言编程命令
  9. window7安装MongoDB详细步骤
  10. javaScript从入门到精通3.md