詳解
配置檔案
主配置檔案:/etc/nginx/nginx.conf (yum安裝為例)
主要三個模組: 全域性塊、events塊、http塊
log_format:
log_format格式變數:
$remote_user #遠端客戶端使用者名稱
$time_local #記錄訪問時間與時區
$request #使用者的http請求起始行資訊
$status #http狀態碼,記錄請求返回的狀態碼,例如:200、301、404等
$body_bytes_sent #伺服器傳送給客戶端的響應body位元組數
$http_referer #記錄此次請求是從哪個連線訪問過來的,可以根據該引數進行防盜煉設定。
$http_user_agent #記錄客戶端訪問資訊,例如:瀏覽器、手機客戶端等
location 優先順序匹配:
~ 波浪線表示執行乙個正則匹配,區分大小寫
~* 表示執行乙個正則匹配,不區分大小寫
^~ 表示普通字元匹配,不是正則匹配。如果該選項匹配,只匹配該選項,不匹配別的選項,一般用來匹配目錄
= 進行普通字元精確匹配
@ 定義乙個命名的 location,使用在內部定向時,例如 error_page, try_files
優先順序:
1.等號型別(=)的優先順序最高。一旦匹配成功,則不再查詢其他匹配項。
2.^~型別表示式。一旦匹配成功,則不再查詢其他匹配項。
3.正規表示式型別(~ ~*)的優先順序次之。如果有多個location的正則能匹配的話,則優先匹配同乙個server中,配置在前面的location
4.常規字串匹配型別。按字首匹配
負載均衡:upstream
分配演算法: 輪詢(預設)、weight 加權、ip_hash、 url_hash、fair
backup down
x-forwarded-for頭資訊可以有多個,中間用逗號分隔,第一項為真實的客戶端ip,剩下的就是曾經經過的**或負載均衡的ip位址,經過幾個就會出現幾個
proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for;
$proxy_add_x_forwarded_for變數包含客戶端請求頭中的"x-forwarded-for",與$remote_addr用逗號分開,如果沒有"x-forwarded-for" 請求頭,則$proxy_add_x_forwarded_for等於$remote_addr。$remote_addr變數的值是客戶端的ip。
x-forwarded-for頭域是為了說明請求經過了哪些伺服器。
如果請求中不包含x-forwarded-for頭域,則設定x-forwarded-for頭域值為請求傳送者的ip;
如果請求中包含x-forwarded-for頭域,則設定x-forwarded-for頭域值為之前該頭域的值後面新增請求傳送者的ip,用逗號分隔。
client-->proxy1-->proxy2--->proxy3--server
那server拿到的x-forward-for 是這樣的:x-forwarded-for: client, proxy1, proxy2
在proxy1的時候 proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for 這個時候會找x-forward-for 沒有的話,就會把remote_addr賦給它,到達proxy2的時候又找x-forward-for 有的話就會把remote_addr新增進去。
修改埠修改首頁server
mac 上安裝nginx並且配置conf檔案
1.安裝pcre download latest pcre.after download go to download directory from terminal.cd download tar xvzf pcre 8.12.tar.gz cd pcre 8.12 sudo configure ...
nginx 如何使用 識別 多個conf配置檔案
macbook pro 使用brew安裝nginx 版本 nginx 1.15.9 其實這個答案網上很多,但是標題有點文不對題,讓我找了好一會。所以我再重新寫一遍。安裝好nginx之後,在 usr local etc nginx目錄下新建了conf.d資料夾 在其中新建了1個配置檔案,a.conf ...
Nginx中conf相關配置的簡要說明
設定執行使用者 user nobody worker processes 1 error log logs error.log error log logs error.log notice error log logs error.log info epoll是多路復用io i o multipl...