Nginx 全局变量

$args 此变量与请求行中的参数相等

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

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

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

$document_uri 与$uri一样

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

$limit_rate 允许限制的连接速率

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

$remote_addr 客户端ip

$remote_port 客户端port

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

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

$request_body_file

$request_uri 含有参数的完整的初始URI

$query_string 与$args一样

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

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

$server_name 请求到达的服务器名

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

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

 

PS:对待不同的需求配置也不尽相同。

 

分享一下个人遇到的一些配置需求。

1、查看从Nginx到被代理到的服务器的请求状况。

log_format main '[$time_local] - $remote_addr - $remote_user "$request" ' '[$status - $body_bytes_sent - "$http_referer" - "$http_user_agent"]'

'"$http_x_forwarded_for" - [ $upstream_addr - $upstream_status -- $upstream_response_time]';

上面的配置看似很普通,但是它整合了,请求发起端到Nginx的请求IP、参数、时间等,以及包含了从Nginx到被代理服务器的请求,这项请求包含了请求状态、请求的IP、请求响应时间。

2、配置要求cache有效期的限制。[总是有效]。

我们知道对于Nginx的cache有效期作用,如果一个cache在有效期外,没有被访问,这个资源将会从cache目录清除。

但是为了应对永久cache,似乎暂时没有解决方案[很久没看nginx动态了,个人偏见]。

所以就要通过调长有效期来做,经过尝试,发现有效期的设置最大为68y[测试标准,配置后,是否能通过配置测试。]。

proxy_temp_path /usr/local/nginx/proxy_temp 1 2;

proxy_cache_path /usr/local/nginx/proxy_cache/musics levels=1:2 keys_zone=music_cache:100m inactive=68y max_size=300g;

 

后续中。。

 

 

 

 

 

posted @ 2012-05-31 18:36  呆呆木鸡  阅读(501)  评论(0编辑  收藏  举报