Nginx的配置(記錄)

原創:https://blog.csdn.net/ndzjx/article/details/89420873

 

在Apache上每一個進程在一個時刻只處理一個請求。而Nginx則不然,一個worker進程可以同時處理的請求數只受限於內存大小。

 

如果確認不會出現阻塞式調用,有多少CPU內核就應該配置多少個進程;如果有可能出現阻塞式調用,那麼需要配置稍多一些workder進程。

 

server_name與Host的匹配優先級如下:

1:完全匹配

2:選擇通配符在前面的server_name,如*.testweb.com

3:選擇通配符在後面的server_name,如www.testweb.*

4:選擇使用正則表達式才匹配的server_name,如~^\.testweb\.com$

 

location [=|~|~*|^~|@] uri {…}

1:= 完全匹配

2:~匹配URI時是大小寫敏感的

3:~* 忽略大小寫

4:^~ 前半部分與uri匹配即可

5:@用於內部請求之間的重定向。(帶@的location不直接處理用戶請求)

最後一個 location 中使用 / 作爲參數,它會匹配所有的HTTP請求。

 

HTTP請求中的keepalive功能是爲了讓多個請求複用一個HTTP長連接。

 

sendfile on|off;

發送文件,減少內核態與用戶態之間的兩次內存複製,從磁盤中讀取文件後直接在內核態發送到網卡設備,提高了發送文件的效率。

 

upstream塊定義了一個上游服務器的集羣,便於反向代理中的proxy_pass使用。

ip_hash; 希望一個用戶的請求始終落到固定的一臺上游服務器中。ip_hash與weight配置不可同時使用,upstream集羣中有一臺不可用,不能直接刪除,而是用down參數標識,確保轉發策略的一貫性。

 

默認情況下,反向代理不會轉發請求中的Host頭部,如果需要轉發,要加上配置:

proxy_set_header Host $host

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章