nginx中http核心模块的配置指令4
接上篇
-
server_tokens on | off:配置是否显示nginx服务器的版本等信息,默认为on
-
tcp_nodelay on | off:配置是否启用TCP中的TCP_NODELAY选项,该选项只有在TCP连接为keep-alive时生效,默认为on,关于TCP_NODELAY的解释如下:
TCP_NODELAY和TCP_CORK基本上控制了包的“Nagle化”,这里我们主要讲TCP_NODELAY.Nagle化在这里的含义是采用Nagle算法把较小的包组装为更大的帧。JohnNagle是Nagle算法的发明人,后者就是用他的名字来命名的,他在1984年首次用这种方法来尝试解决福特汽车公司的网络拥塞问题(欲了解详情请参看IETF RFC 896)。他解决的问题就是所谓的silly window syndrome,中文称“愚蠢窗口症候群”,具体含义是,因为普遍终端应用程序每产生一次击键操作就会发送一个包,而典型情况下一个包会拥有一个字节的数据载荷以及40个字节长的包头,于是产生4000%的过载,很轻易地就能令网络发生拥塞,。Nagle化后来成了一种标准并且立即在因特网上得以实现。它现在已经成为缺省配置了,但在我们看来,有些场合下把这一选项关掉也是合乎需要的。例如在需要及时响应的场景中,我们就可以禁用该选项,让TCP的包尽快发送出去,并尽快获取响应消息。
-
tcp_nopush on | off:配置是否启用TCP的TCP_NOPUSH选项(FreeBSD系统)或者TCP_CORK选项(Linux系统),该选项只有在启用sendfile选项时才生效,一般情况下,在TCP交互的过程中,当应用程序接收到数据包后马上传送出去,不等待,而ect_cork选项是数据包不会马上传送出去,而是等到数据包最大时,再一次性传送,这样有助于解决网络堵塞,该选项于tcp_nodelay互斥
-
try_files file ... uri | file ... =code:检查设置的指定顺序的文件或目录是否存在,返回第一个存在的文件,如果指定的文件或目录都不存在,则会产生一个内部请求到配置的uri,具体配置见如下例子:
location / { try_files $uri $uri/ @wordpress; } location ~ \.php$ { try_files $uri @wordpress; fastcgi_pass ...; fastcgi_param SCRIPT_FILENAME /path/to$fastcgi_script_name; ... other fastcgi_param's } location @wordpress { fastcgi_pass ...; fastcgi_param SCRIPT_FILENAME /path/to/index.php; ... other fastcgi_param's }
-
types { ... }:配置文件类型和MIME type的对应关系,默认为
types { text/html html; image/gif gif; image/jpeg jpg; }
-
ngx_http_core_module模块的内置变量:
- $arg_name:请求行中的参数name
- $agrs:请求行中的arguments
- $binary_remote_addr:客户端的地址的二进制表示形式,4个字节
- $body_bytes_sent:发送到客户端的字节数,不包括消息头
- $bytes_sent:发送到客户端的字节数
- $connection:连接的***
- $connection_requests:一个连接的当前的请求数
- $content_length:”Content-Length”消息头的值
- $content_type:”Content-Type”消息头的值
- $cookie_name:cookie的名称
- $document_root:root或alias指令设置的值
- $document_uri:同$uri
- $host:按照如下顺序获取-请求行中的host name、请求头中的“Host”的值、匹配请求的server name
- $hostname:主机名称
- $http_name
- $https:如果启用了https,则值为on,否则为空
- $is_args:如果有查询参数则值为“?”,否则为空
- $limit_rate
- $msec:当前时间的微秒形式
- $nginx_version
- $pid
- $pipe
- $proxy_protocol_addr:代理协议头中的客户端的地址
- $query_string:请求查询参数,同$agrs
- $realpath_root:root或alias对应的绝对路径
- $remote_addr:客户端的地址
- $remote_port:客户端的端口
- $remote_user:基本认证中的用户名
- $request:完成的请求行的值
- $request_body:请求的消息体
- $request_body_file:请求的消息体对应的临时文件,请求结束后该文件需要删除
- $request_completion:如果一个请求结束了则返回“OK”,否则为空
- $request_filename:请求的文件名称
- $request_length:请求的消息的长度包括消息头和消息体
- $request_method:请求的方法
- $request_time:请求处理的时间(包括微秒)
- $request_uri:原始的请求URI
- $scheme:http|https
- $sent_http_name
- $server_addr
- $server_name
- $server_port
- $server_protocol
- $status
- $tcpinfo_rtt
- $time_iso8601
- $time_local
- $uri
转载于:https://my.oschina.net/louxin/blog/502543