`

Nginx Location 语法,与简单配置

阅读更多
一、介绍Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为“engine X”, 是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器.
二、Location语法语法:location [=|~|~*|^~] /uri/ { … }
注:
1、~   为区分大小写匹配
2、~* 为不区分大小写匹配
3、!~和!~*分别为区分大小写不匹配及不区分大小写不匹配
示例一:
location  / { }

匹配任何查询,因为所有请求都以 / 开头。但是正则表达式规则将被优先和查询匹配。
示例二:
location =/ {}

仅仅匹配/
示例三:
location ~* \.(gif|jpg|jpeg)$ {
rewrite \.(gif|jpg)$ /logo.png;
}

注:不区分大小写匹配任何以gif,jpg,jpeg结尾的文件
三、ReWrite语法
last - 基本上都用这个Flag。
break - 中止Rewirte,不在继续匹配
redirect - 返回临时重定向的HTTP状态302
permanent - 返回永久重定向的HTTP状态301
1、下面是可以用来判断的表达式:
-f和!-f用来判断是否存在文件
-d和!-d用来判断是否存在目录
-e和!-e用来判断是否存在文件或目录
-x和!-x用来判断文件是否可执行
2、下面是可以用作判断的全局变量
例:http://localhost:88/test1/test2/test.php
$host:localhost
$server_port:88
$request_uri:http://localhost:88/test1/test2/test.php
$document_uri:/test1/test2/test.php
$document_root:D:\nginx/html
$request_filename:D:\nginx/html/test1/test2/test.php

四、Redirect语法
 
  server {
    listen 80;
    server_name start.igrow.cn;
    index index.html index.php;
    root html;
    if ($http_host !~ "^www\.itlearner\.com$ {
         rewrite ^(.*) http://www.itlearner.com$1 redirect;
    }
    }


五、防盗链
location ~* \.(gif|jpg|swf)$ {
  valid_referers none blocked start.igrow.cn sta.igrow.cn;
  if ($invalid_referer) {
  rewrite ^/ http://$host/logo.png;
  }
}

六、根据文件类型设置过期时间
location ~* \.(js|css|jpg|jpeg|gif|png|swf)$ {
if (-f $request_filename) {
   expires    1h;
   break;
}
}


七、禁止访问某个目录
location ~* \.(txt|doc)${ 
      root /data/www/wwwroot/linuxtone/test;
    deny all;
}


++ 一些可用的全局变量
$args
$content_length
$content_type
$document_root
$document_uri
$host
$http_user_agent
$http_cookie
$limit_rate
$request_body_file
$request_method
$remote_addr
$remote_port
$remote_user
$request_filename
$request_uri
$query_string
$scheme
$server_protocol
$server_addr
$server_name
$server_port
$uri


---★ 本文转摘自『IT学习者』→ http://www.itlearner.com/article/4619
分享到:
评论

相关推荐

    nginx配置location时容易出现的误区

    ### Nginx 配置 Location 时常见的误区详解 在 Nginx 的配置过程中,`location` 是一个非常重要的概念,用于控制特定 URL 模式的请求处理方式。然而,在实际应用中,不少开发者对 `location` 的理解存在一定的误区...

    nginx location配置详细解释.pdf

    ### Nginx Location配置详细解析 #### 一、引言 Nginx 是一款轻量级的 Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在 Linux 环境下有着非常好的性能表现。在 Nginx 的配置文件中,`location` ...

    nginx的各项详细配置-超多注释

    Nginx重启与配置检查 - `nginx -t`: 检查配置文件语法是否正确。 - `nginx -s reload`: 重新加载配置文件,不中断现有连接。 - `service nginx restart`: 重启Nginx服务。 综上所述,Nginx的配置文件"nginx.conf...

    nginx语法规则.docx

    Nginx 语法规则是 Nginx 配置文件的核心组成部分,它规定了 Nginx 如何处理用户的请求。理解 Nginx 语法规则对于配置 Nginx 是非常重要的。本文详细介绍了 Nginx 语法规则的各种模式和匹配规则。 1. 精确匹配(=) ...

    Nginx 反向代理 location 语法规则说明

    Nginx 的 Location 语法规则是 Nginx 反向代理中最重要的配置部分之一。Location 规则用于匹配客户端请求的 URI,并将其路由到相应的服务器或应用程序。下面我们详细解释 Location 语法规则的语法、匹配顺序和示例。...

    nginx nginx.conf配置

    修改配置后,使用`nginx -t`命令检查配置文件的语法是否正确,无误后用`nginx -s reload`命令平滑重启Nginx以应用新配置。 总的来说,`nginx.conf`是Nginx的核心,通过灵活的配置可以实现多种服务和功能,适应各种...

    nginx配置.zip

    - **错误检查**:使用`nginx -t`命令检查配置文件的语法是否正确。 6. **与Java应用的结合** Nginx常作为Java应用(如Spring Boot应用)的反向代理,通过`proxy_pass`指令将HTTP请求转发到后端Java服务器。例如:...

    Nginx关于location的匹配规则详解.docx

    本文将深入探讨Nginx `location`的匹配机制、语法以及常见用法。 1. **匹配类型** - **精确匹配**:使用`=号`,如`location = /path/ {}`,只匹配完全相同的URL。 - **前缀匹配**:不带`=`的`location /path/ {}`...

    02nginx动态配置.zip

    这个例子可能会涵盖简单的反向代理、虚拟主机配置、日志设置等内容,是学习Nginx管理的好资料。 在实践中,掌握Nginx的配置和管理技巧对于优化Web服务性能至关重要。理解配置文件结构、熟练运用启动和管理命令,...

    nginx和PHP配置

    **二、安装与配置PHP** 1. **安装PHP**: 在大多数Linux发行版中,可以通过包管理器安装PHP,例如使用`apt-get install php`或`yum install php`。 2. **定位并修改`php.ini`文件**: - 找到默认的`...

    linux下nginx安装、配置实战

    对于更复杂的配置,如SSL/TLS证书配置、URL重写、负载均衡等,需要深入学习Nginx的配置语法和模块功能。你可以在Nginx的官方文档中找到更多详细信息。 总的来说,安装和配置Nginx是一个多步骤的过程,涉及到Linux...

    实战Nginx及基础配置与管理

    在学习Nginx配置与管理之前,首先需要了解其基本概念和用途。Nginx在设计之初就非常注重高并发连接的处理,采用了基于事件驱动的架构模式,而且因为其代码的模块化,可以轻松地实现功能的扩展。Nginx的处理速度和高...

    nginx搭建配置详细说明

    3.4. nginx重要指令之location 4. nginx中的rewrite 4.1. 什么是rewrite 4.2. rewrite的命令的作用域和优先级 4.3. if指令 4.3.1. if指令的语法 4.3.2. if指令中使用的逻辑运算符 4.3.3. If指令中可以使用的...

    Nginx如何配置url_hash转发方式.docx

    使用`nginx -t`命令检查配置文件的语法是否正确。 5. **启动Nginx**: 如果配置文件检查无误,启动Nginx服务,如`/usr/local/webserver/nginx/sbin/nginx`。 6. **验证Nginx状态**: 使用`netstat -ant`检查...

    Nginx安装配置

    配置完成后,记得测试配置文件的语法正确性并重启Nginx服务: ```bash sudo nginx -t sudo systemctl restart nginx ``` 这就是Nginx的基本安装和配置流程。通过灵活的配置,Nginx可以胜任多种Web服务场景,包括...

    微服务实战(二)nginx配置

    配置完成后,记得执行`nginx -t`检查配置文件的语法正确性,无误后使用`nginx -s reload`命令重启Nginx以应用新的配置。 在“leyou-manage-web”项目中,我们可以通过这样的配置来管理和优化微服务的访问,确保系统...

    Nginx负载均衡Tomcat简单配置

    使用`nginx -t`检查配置文件的语法,然后用`systemctl restart nginx`或`service nginx restart`重启服务。 5. **配置Tomcat**:在Apache Tomcat服务器上,你需要确保每个实例都在不同的端口上运行,例如8081、8082...

    Windows下Nginx的安装与配置

    在Windows环境下安装和配置Nginx是一个简单的过程,适合初学者和有经验的开发者。Nginx是一款由Igor Sysoev开发的高性能HTTP web服务器和反向代理服务器,以其稳定性、高效性能和低资源消耗著称。由于这些特性,...

    nginx 安装及配置文档

    1. **使用 `nginx -t` 检查配置文件语法是否正确**。 2. **通过 `/status` 端点查看 Nginx 运行状态(需要配置 `http_stub_status_module`)**。 3. **定期检查日志文件,分析访问模式和错误信息**。 以上就是 ...

Global site tag (gtag.js) - Google Analytics