NGINX配置文件

NGINX配置文件

~           表示区分大小写匹配
~*          表示不区分大小写匹配
!~和!~*     分别为区分大小写不匹配及不区分大小写不匹配
^           以什么开头的匹配
$           以什么结尾的匹配
            转义字符。可以转. * ?等
*           代表任意字符
2、文件及目录匹配
-f和!-f     用来判断是否存在文件
-d和!-d     用来判断是否存在目录
-e和!-e     用来判断是否存在文件或目录
-x和!-x     用来判断文件是否可执行

例:
location = /
#匹配任何查询,因为所有请求都已 / 开头。但是正则表达式规则和长的块规则将被优先和查询匹配
location ^~ /images/ {
# 匹配任何已/images/开头的任何查询并且停止搜索。任何正则表达式将不会被测试。
location ~* .(gif|jpg|jpeg)$ {
# 匹配任何已.gif、.jpg 或 .jpeg 结尾的请求

常用内置变量列表如下

$args   
此变量与请求行中的参数相等 注意我请求中的 referer  此变量表示我请求的所有参数

$content_length
等于请求行的“Content_Length”的值。

$content_type
等同与请求头部的”Content_Type”的值

$document_root
等同于当前请求的root指令指定的值

$document_uri
与$uri一样 当前request中的URI

$host
与请求头部中“Host”行指定的值或是request到达的server的名字(没有Host行)一样 上述例子中没有体现

$limit_rate
允许限制的连接速率 一般不常用

$request_method
等同于request的method,通常是“GET”或“POST”

$remote_addr
客户端ip 这个再做负载均衡的时候 如果要获取到客户端的请求ip需要这个

$remote_port
客户端port

$remote_user
等同于用户名,由ngx_http_auth_basic_module认证

$request_filename
当前请求的文件的路径名,由root或alias和URI request组合而成

$request_body_file
请求body内的文件

$request_uri
含有参数的完整的初始URI 如上例子就是
https://www.baidu.com/s?wd=aaa&rsv_spt=1&rsv_iqid=0x80378a480003084f&issp=1&f=8&rsv_bp=0&rsv_idx=2& 
ie=utf-8&tn=baiduhome_pg&rsv_enter=1&rsv_sug3=4&rsv_sug1=2&rsv_sug7=100&rsv_sug2=0&inputT=1804&rsv_sug4=1805 

$query_string
与$args一样 请求中的参数

$sheeme
http模式(http,https)

$server_protocol
等同于request的协议,使用“HTTP/或“HTTP/

$server_addr request
到达的server的ip,一般获得此变量的值的目的是进行系统调用。为了避免系统调用,有必要在listen指令中指明ip,并使用bind参数。

$server_name
请求到达的服务器名

$server_port
请求到达的服务器的端口号

$uri
等同于当前request中的URI,可不同于初始值,例如内部重定向时或使用index

 

独孤天血

文章作者信息...

留下你的评论

*评论支持代码高亮<pre class="prettyprint linenums">代码</pre>

相关推荐