美文网首页VUE
nginx配置location [=|~|~*|^~]

nginx配置location [=|~|~*|^~]

作者: 王国的荣耀 | 来源:发表于2021-03-27 12:03 被阅读0次

location =、* 、^~等区别

scheme:[//[user[:password]@]host[:port]][/path][?query][#fragment]
location是Nginx对HTTP请求中的URI进行匹配处理的指令,location的语法形式如下:

 location [=|~|~*|^~|@] pattern { ... }
= : 严格匹配。如果这个查询匹配,那么将停止搜索并立即处理此请求。
~ : 为区分大小写匹配(可用正则表达式)
!~ : 为区分大小写不匹配
~* : 为不区分大小写匹配(可用正则表达式)
!~* : 为不区分大小写不匹配
^~ : 如果把这个前缀用于一个常规字符串,那么告诉nginx 如果路径匹配那么不测试正则表达式。
修饰语“^~” : 完全匹配URI中除访问参数以外的内容,匹配项的内容如果不是正则表达式,则不再进 行正则表达式测试。

示例

location = / {
 # 只匹配 / 查询。
}
location / {
 # 匹配任何查询,因为所有请求都以 / 开头。但是正则表达式规则和长的块规则将被优先和查询匹配。
}
location ^~ /images/ {
 # 匹配任何以 /images/ 开头的任何查询并且停止搜索。任何正则表达式将不会被测试。
}
location ~*.(gif|jpg|jpeg)$ {
 # 匹配任何以 gif、jpg 或 jpeg 结尾的请求。
}
location ~*.(gif|jpg|swf)$ {
  valid_referers none blocked start.igrow.cn sta.igrow.cn;
  if ($invalid_referer) {
    #防盗链
    rewrite ^/ http://$host/logo.png;
  }
}

  location ^~ /images {
       root /data/web;
   }

修饰语“@”:定义一个只能内部访问的location区域,可以被其他内部跳转指令使用,如try_files或 error_page。

 location @images {
       proxy_pass http://images;
   }

CGI(Common Gateway Interface,通用网关接口)

CGI是一种通用网关接口规范,该规范详细描述了Web服务器和请求处理程序(脚本解析器)在获取及返 回数据过程中传输数据的标准,如HTTP协议的参数名称等。大多数Web程序以脚本形式接收并处理请求,然 后返回响应数据,如脚本程序PHP、JSP、Python等。

FastCGI (Fast Common Gateway Interface,快速通用网关接口)

FastCGI是Web服务器和动态脚本程序间的一个高速、可 伸缩的接口,它采用C/S架构,将Web服务器和动态脚本解析器分离,同时启动一个或多个脚本解析器守护进 程接收Web服务器的动态脚本解析请求。当用户向Nginx服务器发起动态脚本请求时,Nginx服务器将动态脚本解析任务交由FastCGI进程来执行,并将FastCGI解析的结果返回给用户。PHP-FPM是一个被编译到PHP内 核中的FastCGI应用,因为它是作为PHP的补丁开发的,所以它在PHP脚本的解析上更加高效。

SCGI(Simple Common Gateway Interface,简单通用网关接口)

SCGI是CGI的替代版本,它与FastCGI类似,同样是将请求处理程序独立于Web服务器之外,但更容易实 现,性能比FastCGI要弱一些。

WSGI(Web Server Gateway Interface,Web服务网关接口)

WSGI是为Python语言中定义的Web服务器与Python应用程序或框架间的通用通信接口,可以使Python 应用程序或框架与支持这一协议的不同Web服务器进行通信。常见的Python Web框架都实现了该协议的封 装。

uWSGI

uWSGI是Python实现WSGI、uWSGI(uWSGI独有的协议)、HTTP等协议功能的Web服务器,Nginx 通过ngx_http_uwsgi_module模块实现与uWSGI服务器的数据交换并完成Python网站的请求处理。该模块 默认编译在Nginx二进制文件中,无须单独编译。

相关文章

  • Nginx 匹配规则

    Nginx 内核源码解析 nginx location 练习 Nginx location 配置踩坑过程分享ngi...

  • nginx基础知识

    nginx主配置文件 nginx.conf 配置文件结构如下: location匹配规则 语法规则location...

  • Nginx路由详解

    本文总结Nginx的location配置策略。结合案例说明location的用法。 location配置语法:lo...

  • Nginx 负载均衡/反向代理配置

    反向代理: 修改nginx配置nginx.conf文件: 在location /{ #...

  • Nginx配置文件下载(不预览)

    nginx配置指定目录文件下载 server块中新增 location配置:

  • Nginx 跨域设置

    nginx配置文件中,在需要跨域的location内,增加如下配置,重启nginx即可。

  • nginx获取真实ip

    通过Nginx获取用户真实IP nginx配置 location / { proxy_set_header ...

  • nginx实战笔记

    nginx最佳实践 nginx location详解 server_name参数配置 nginx中root和ali...

  • Nginx location配置

    语法规则: location [=||*|^~] /uri/ { … } ~ #波浪线表示执行一个正则匹...

  • nginx配置location

    指令作用 匹配指定的请求uri(请求uri不包含查询字符串,如http://localhost:8080/test...

网友评论

    本文标题:nginx配置location [=|~|~*|^~]

    本文链接:https://www.haomeiwen.com/subject/mlaehltx.html