}}core module支援一些內建的變數,與apache使用的變數相一致。
首先,一些變數代表了客戶端請求頭部的一些字段,如:$http_user_agent, $http_cookie
等等。注意,由於這些變數會在請求中定義,所以可能無法保證他們是存在的或者說可以定義到一些別的地方(例如遵循一定的規範)。
除此之外,下列是一些其他變數:
1.$arg_parameter
這個變數包含在查詢字串時get請求parameter的值。
2.$args
這個變數等於請求行中的引數。
3.$binary_remote_addr
二進位製碼形式的客戶端位址。
4.$content_length
請求頭中的content-length欄位。
5.$content_type
請求頭中的content-type欄位。
6.$cookie_cookie
cookie cookie的值。
7.$document_root
當前請求在root指令中指定的值。
8.$document_uri
與$uri相同。
9.$host
請求中的主機頭欄位,如果請求中的主機頭不可用,則為伺服器處理請求的伺服器名稱。
10.$is_args
如果$args設定,值為」?」,否則為」「。
11.$limit_rate
這個變數可以限制連線速率。
12.$nginx_version
當前執行的nginx版本號。
13.$query_string
與$args相同。
14.$remote_addr
客戶端的ip位址。
15.$remote_port
客戶端的埠。
16.$remote_user
已經經過auth basic module驗證的使用者名稱。
17.$request_filename
當前連線請求的檔案路徑,由root或alias指令與uri請求生成。
18.$request_body
這個變數(0.7.58+)包含請求的主要資訊。在使用proxy_pass或fastcgi_pass指令的location中比較有意義。
19.$request_body_file
客戶端請求主體資訊的臨時檔名。
20.$request_method
這個變數是客戶端請求的動作,通常為get或post。
包括0.8.20及之前的版本中,這個變數總為main request中的動作,如果當前請求是乙個子請求,並不使用這個當前請求的動作。
21.$request_uri
這個變數等於包含一些客戶端請求引數的原始uri,它無法修改,請檢視$uri更改或重寫uri。
22.$scheme
http方法(如http,https)。按需使用,例:
rewrite ^(.+)
scheme: redirect;
23.$server_addr
伺服器位址,在完成一次系統呼叫後可以確定這個值,如果要繞開系統呼叫,則必須在listen中指定位址並且使用bind引數。
24.$server_name
伺服器名稱。
25.$server_port
請求到達伺服器的埠號。
26.$server_protocol
請求使用的協議,通常是http/1.0或http/1.1。
27.$uri
請求中的當前uri(不帶請求引數,引數位於ar
gs),
可以不同
於瀏覽器
傳遞的request_uri的值,它可以通過內部重定向,或者使用index指令進行修改。
location區段,通過制定模式來與客戶端請求的uri相匹配,基本語法如下:location[=|~|~*|^~|@] pattern
1. 沒有修飾符表示:必須以制定模式開始
如:
server
}
那麼,如下的uri是匹配的:
2.表示必須與制定的模式精確匹配
如:
server
}
那麼,如下的uri是匹配的:
如下的uri是不匹配的:
3.~表示:制定的正規表示式要區分大小寫
如
server
}
那麼,如下的uri是匹配的:
如下的uri是不匹配的:
4.~*表示:制定的正規表示式不區分大小寫
如
server
}
那麼,如下的uri是匹配的:
如下的uri是不匹配的:
5.^~類似於無修飾符的行為,也是以制定模式開始,不同的是,如果模式匹配,那麼就停止搜尋其他模式了。
6.@:定義命名location區段,這些區段客戶端不能訪問,只可以由內部昌盛的請求來訪問,如:try_files或error_page等。
帶有「=」的精確匹配優先
沒有修飾符的精確匹配
正規表示式按照他們在配置檔案中定義的順序
帶有「^~」修飾符的,開頭匹配
帶有「~」或「~*」修飾符的,如果正規表示式與uri匹配
沒有修飾符的,如果指定字串與uri開頭匹配
架構師日記 Nginx的配置優化
優化的方向和目標,無外乎 1.盡量提高單台機器處理效率 2.盡量降低單台機器的負載 3.盡量降低磁碟的i o 4.盡量降低網路i o 5.儘量減少記憶體使用 6.盡量高效利用cpu 生產環境下,應該使nginx模組最小化,就是用到哪幾個就開哪幾個,這個需要在編譯安裝nginx的時候做 使用者和組,最...
我的架構師夢想日記
第四天 今天想了想還是把rhce的班報了吧,本來想等ocp考完之後再報的,但是某某培訓機構比較坑,非得過了年才能考,好吧。問吳總能不能公司出錢幫我出點錢讓我考這個證,吳總說公司從來沒有過這個先例,這我在我的預料之中,考ocp的錢都是我自己出的,但是還是有一點點小小的失望。今天去拱墅了,又是一通加班,...
我的架構師夢想日記
做相關工作的可以看下 最近不更新,等我先到新公司入職了再繼續吧。今天被優衣庫的刷屏了,我來分享點正能量吧 今天看到一篇支付寶的關於支付寶安全性的介紹,深深感覺資料分析的威力,支付寶不再單一的依靠密碼 手機號等來保證使用者資金的安全性,而是使用 安全大腦 這個安全大腦會不斷學習使用者的習慣,了解主人的...