nginx 二 配置檔案的認識

2021-10-02 03:23:29 字數 3132 閱讀 7138

在編譯後的nginx的conf目錄下的nginx.conf就是啟動服務的配置檔案,用於配置nginx的服務功能。

server 

}

下圖配置就是監聽同乙個80埠,但是根據訪問不同的網域名稱返回不同的靜態資源

server 

}server

}

location模組處於server模組之中,乙個server模組可以包含多個location模組,用於訪問路徑的對映配置。

location行的配置語法
location = /uri精準匹配

location ^~ /uri字首匹配

location ~* /.(css|js|......) $正則匹配

location /通用匹配

優先順序:精準匹配 > 普通匹配(最長的匹配) > 正則匹配

服務只包含靜態資源時,一般就內部就只使用上方的root配置和index配置。

ip限制
location /
反向**配置
用於將訪問nginx80埠反向**到tomcat的8080埠。

除了基本的proxy_pass,其他引數是設定訪問到反向**伺服器的ip為訪問nginx的ip不然則是該nginx伺服器的ip。

server 

}

網路負載均衡的大致原理是利用一定的分配策略將網路負載平衡地分攤到網路集群的各個操作單元上,使得單個重負載任務能夠分擔到多個單元上並行處理,使得大量併發訪問或資料流量分擔到多個單元上分別處理,從而減少使用者的等待響應時間。

即:理解為啟動乙個nginx對應**到多個tomcat

下方配置根據upstream實現負載均衡,常用有如下演算法:

輪詢 預設

ip hash 根據請求的ip位址進行hash,下一次相同ip請求到上一次的伺服器,可用於解決集群部署的session問題

權重輪詢 給不同的ip設定不同的weight,再根據比例權重輪詢

proxy_next_upstream這個配置表示當向一台上有伺服器**請求出現錯誤的時候,繼續換一台上後伺服器來處理這個請求。

proxy_connect_timeout用於設定nginx與upstream server的連線超時時間,比如我們直接在location中設定proxy_connect_timeout 1ms, 1ms很短,如果無法在指定時間建立連線,就會報錯。

proxy_send_timeout向後端寫資料的超時時間,兩次寫操作的時間間隔如果大於這個值,也就是過了指定時間後端還沒有收到資料,連線會被關閉。

proxy_read_timeout從後端讀取資料的超時時間,兩次讀取操作的時間間隔如果大於這個值,那麼nginx和後端的鏈結會被關閉。

expires 1d設定返回內容在瀏覽器快取1天,格式: expires 30s|m|h|d

跨域解決

add_header 'access-control-allow-origin'

add_header 'access-control-allow-methods'

add_header 'aceess-control-allow-header'

第二個location是對靜態資源的配置在conf目錄下有乙個mime.types檔案,裡面包含了所有靜態資源型別,可以從中獲取需要過濾訪問到靜態資源路徑的檔名。

}

此nginx中提供了一種gzip的壓縮優化手段,可以對後端的檔案進行壓縮傳輸,壓縮以後的好處在於能夠降低檔案的大小來提高傳輸效率,一般用於對、樣式、指令碼等檔案壓縮,大部分瀏覽器都預設支援。

http
瀏覽器中被壓縮了的檔案標誌

在自己伺服器存在的檔案(常是),不希望被別人複製路徑擴散到各個**而增加自己伺服器的流量負擔,可以採用防盜煉配置。

即:伺服器上的只能在自己允許的ip下可以正常訪問,否則不能訪問。

語法: valid_referers none | blocked | server_names;

worker_processes 1;工作程序數,最優設定為伺服器cpu數量

use epoll;執行緒模型,調優時根據作業系統設定不同的執行緒模型

include extra/*.conf;引用當前nginx目錄下得extra目錄下的.conf檔案包含在配置檔案中,使用者配置過長,不同**服務的隔離配置避免造成混淆

二 nginx配置檔案詳解

定義nginx執行的使用者和使用者組 user www www nginx程序數,建議設定為等於cpu總核心數。worker processes 4 cpu親和力配置,讓不同的程序使用不同的cpu worker cpu affinity 0001 0010 0100 1000 全域性錯誤日誌定義型別...

nginx 配置檔案講解 (二)

nginx配置檔案主要分成四部分 1.main 全域性設定 2.server 主機設定 3.upstream 上游伺服器設定,主要為反向 負載均衡相關配置 4.location url匹配特定位置後的設定 每部分包含若干個指令 下面的nginx.conf簡單的實現nginx在前端做反向 伺服器的例子...

(二)詳解nginx配置檔案

nginx的配置檔案組成部分 注意 user nginx nginx 啟動nginx工作程序的使用者和組 worker processes number auto 啟動nginx工作程序的數量 worker cpu affinity 00000001 00000010 00000100 000010...