1.運行時控制Nginx進程 NGINX有一個主進程和一個或多個工作進程。 如果啟用了緩存,則緩存載入器和緩存管理器進程也會在啟動時運行。 主進程的主要目的是讀取和評估配置文件,以及維護工作進程。 工作進程執行請求的實際處理。 NGINX依賴於依賴操作系統的機制來有效地在工作進程之間分配請求。 工作... ...
1.運行時控制Nginx進程 NGINX有一個主進程和一個或多個工作進程。 如果啟用了緩存,則緩存載入器和緩存管理器進程也會在啟動時運行。 主進程的主要目的是讀取和評估配置文件,以及維護工作進程。 工作進程執行請求的實際處理。 NGINX依賴於依賴操作系統的機制來有效地在工作進程之間分配請求。 工作進程數由nginx.conf配置文件中的worker_processes指令定義,可以設置為固定數字,也可以配置為自動調整為可用CPU核心數。 2.Nginx使用以特定格式編寫的基於文本的配置文件。預設情況下,該文件名為nginx.conf,它通常是/usr/local/nginx/conf,/etc/nginx或/usr/local/etc/nginx之一。) 配置文件由指令及其參數組成。單行指令,每個指令以分號結尾。其他指令充當“容器”,將相關指令組合在一起,將它們用大括弧括起來({});這些通常被稱為塊。 為了使配置更易於維護,我們建議您將其拆分為一組存儲在/etc/nginx/conf.d目錄中的特定於功能的文件,並使用主nginx.conf文件中的include指令來引用內容特定於功能的文件。 3.上下文 events - 常規連接處理 http - HTTP流量 mail - 郵件流量 stream - TCP和UDP流量 4. user 定義工作進程使用的用戶和組。如果省略組,則使用名稱等於user的組。 5. worker_processes 定義工作進程的數量。最佳值取決於許多因素,包括(但不限於)CPU核心數,存儲數據的硬碟驅動器數和負載模式。如果有疑問,將其設置為可用CPU核心數將是一個良好的開端(值“auto”將嘗試自動檢測它)。 6. pid 定義一個文件存儲主進程的進程ID。 4. error_log 配置日誌記錄。可以在同一級別指定多個日誌(1.5.2)。如果在主配置級別上未明確定義將日誌寫入文件,則將使用預設文件。第一個參數定義將存儲日誌的文件。特殊值stderr選擇標準錯誤文件。可以通過指定“syslog:”首碼來配置記錄到syslog。可以通過指定“memory:”首碼和緩衝區大小來配置記錄到迴圈記憶體緩衝區,通常用於調試(1.7.11)。第二個參數確定日誌記錄級別,可以是以下之一:debug,info,notice,warn,error,crit,alert或emerg。上面的日誌級別按嚴重性增加的順序列出。設置某個日誌級別將導致記錄指定和比他嚴重的日誌級別的所有消息 worker_connections 設置工作進程可以打開的最大併發連接數。應該記住,這個數字包括所有連接(例如與代理伺服器的連接等),而不僅僅是與客戶端的連接。另一個考慮因素是實際的併發連接數不能超過最大打開文件數的當前限制,可以通過worker_rlimit_nofile更改。