nginx中http核心模塊的配置指令4

接上篇php

  1. server_tokens on | off:配置是否顯示nginx服務器的版本等信息,默認爲onhtml

  2. tcp_nodelay on | off:配置是否啓用TCP中的TCP_NODELAY選項,該選項只有在TCP鏈接爲keep-alive時生效,默認爲on,關於TCP_NODELAY的解釋以下:node

    TCP_NODELAY和TCP_CORK基本上控制了包的「Nagle化」,這裏咱們主要講TCP_NODELAY.Nagle化在這裏的含義是採用Nagle算法把較小的包組裝爲更大的幀。JohnNagle是Nagle算法的發明人,後者就是用他的名字來命名的,他在1984年首次用這種方法來嘗試解決福特汽車公司的網絡擁塞問題(欲瞭解詳情請參看IETF RFC 896)。他解決的問題就是所謂的silly window syndrome,中文稱「愚蠢窗口症候羣」,具體含義是,由於廣泛終端應用程序每產生一次擊鍵操做就會發送一個包,而典型狀況下一個包會擁有一個字節的數據載荷以及40個字節長的包頭,因而產生4000%的過載,很輕易地就能令網絡發生擁塞,。Nagle化後來成了一種標準而且當即在因特網上得以實現。它如今已經成爲缺省配置了,但在咱們看來,有些場合下把這一選項關掉也是合乎須要的。例如在須要及時響應的場景中,咱們就能夠禁用該選項,讓TCP的包儘快發送出去,並儘快獲取響應消息。nginx

  3. tcp_nopush on | off:配置是否啓用TCP的TCP_NOPUSH選項(FreeBSD系統)或者TCP_CORK選項(Linux系統),該選項只有在啓用sendfile選項時才生效,通常狀況下,在TCP交互的過程當中,當應用程序接收到數據包後立刻傳送出去,不等待,而ect_cork選項是數據包不會立刻傳送出去,而是等到數據包最大時,再一次性傳送,這樣有助於解決網絡堵塞,該選項於tcp_nodelay互斥算法

  4. 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
    }
  5. types { ... }:配置文件類型和MIME type的對應關係,默認爲cookie

    types {
    	text/html  html;
    	image/gif  gif;
    	image/jpeg jpg;
    }
  6. 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
相關文章
相關標籤/搜索