nginx 相關配置

2021-08-09 16:42:15 字數 3103 閱讀 4329

塊配置項由乙個塊配置項名和一對大括號組成。比如

events 才有效,例如:

events{

debug_connection 192.168.1.100;

debug_connection 192.168.1.100/24;

僅對以上設定的ip才設定成

debug

級別的日誌,其他請求沿用error_log 配置的級別

限制coredump核心轉儲檔案的大小

worker_rlimit_core_size size;

以size來限制

coredump

檔案的大小

指定coredump檔案的位置

working_directory path;

path指定

coredump

檔案的位置

需要保證path路徑有足夠的寫入許可權和足夠的使用空間

引入其他配置檔案

include /path/file;

include配置項可以將其他配置檔案引入到當前的

nginx.conf

檔案中,

引數可以是絕對路徑和相對

(conf/)路徑

include mine.types;

include vhost/*.conf

pid檔案的位置

pid path/file

logs/nginx/pid

儲存master程序id的

pid資料夾的存放路徑

應該確保nginx在相應的目錄中有建立

pid檔案的許可權

nginx worker程序執行的使用者和使用者組

user username [groupname];

user nobody nobody;

user用於設定

master

程序啟動後,fork出的

worker

子程序執行在哪個使用者和使用者組

當設定username沒有設定

groupname,

則預設username

與groupname相同

指定worker程序可以開啟的最大檔案控制代碼描述符個數

worker_rlimit_nofile limit_num;

設定乙個worker程序可以開啟的最大檔案控制代碼數

(應該大於最大連線數)

限制訊號佇列長度

worker_rlimit_sigpending limit_num;

設定每個使用者發往nginx訊號佇列的大小,多的將丟棄

nginx worker程序的個數

worker_process number;

預設為1

worker程序的數量直接影響效能

.合適的

worker

程序數量和業務息息相關

worker程序是單執行緒的程序

,如果確認各模組中不會出現阻塞呼叫那麼

number

設定為c

pu的核數

如果有可能出現阻塞呼叫,number設定的比

cpu核數大一點

多worker程序可以充分利用多核系統架構,如果worker程序相比

cpu數量太多會增加程序間切換的消耗

繫結nginx worker程序到指定的

cpu核心

#僅對linux有效

worker_cpu_affinity cpumask[cpumask...]

可防止多個程序搶占同一核心

worker_processes 4;

worker_cpu_affinity 1000 0100 0010 0001;

worker_processes 2;

worker_cpu_affinity 10 01;

系統呼叫getimeofday()的執行頻率

預設 timer_resolution t;

例如 timer_resolution 100ms;表示至少每

100ms

才呼叫一次

gettimeofday()

目前大多數核心中,花銷只是一次vsyscall()僅對共享記憶體頁中的資料做訪問。一般可

以不適用這個配置

是否開啟accept鎖

accept是

nginx

負載均衡鎖,這把鎖可以讓多個work程序輪流

,有序的與新的客戶端建立

tcp連線

預設是開啟的,如果配置關閉,建立

tcp連線耗時會更短

.但是多個

worker

之間負載不會均衡

lock檔案的路徑

lock_file path/file

預設 logs/nginx.lock

accept鎖可能需要這個

lock檔案,

如果accept

鎖配置關閉那麼

lock_file

配置無效

如果accept鎖配置開啟且由於作業系統和編譯器等因素導致

nginx

不支援原子鎖,將利

用檔案鎖實現accept

使用accept鎖後到真正建立連線之間的延遲時間

accept_mutex_delay numberms;

預設500ms;

乙個worker程序試圖獲取到

accept

鎖失敗,

經過number ms

時間再次試圖獲取

accept鎖

批量建立連線

multi_accept [on|off]

預設off

當時間模型通知有新連線時,盡量對本次排程中客戶端發起的

tcp請求都建立連線

選擇事件模型

use [kqueue | rtsig epoll | /dev/poll | select |poll |eventport]

預設 nginx會自動選擇最適合的事件模型

對於linux來說,可以供選擇的時間驅動模型有select、poll、epoll的三種

每個worker的最大連線數

worker_connection number;

定義每個worker程序可以同時處理的最大連線數

Nginx 相關配置

準備環境 伺服器ip為 110.110.110.110 nginx監聽80埠 兩個tomcat埠分別為8080 8081 一 反向 實現訪問 反向 訪問到 sever 二 負載均衡 nginx實現負載均衡有四種方式 輪詢 預設方式 權重weight ip hash fair 1 輪詢方式 預設方式 ...

nginx 配置技巧相關

nginx 如何不記錄部分日誌 下面的配置寫到 server 段中 相關靜態資源的檔案字尾 訪問特定字尾的檔案 如 sh.bash 返回 403 錯誤 shell location sh bash 頻寬控制 設定根據網域名稱的限制 limit conn zone server name zone s...

nginx相關部署配置

2 解壓到磁碟任意目錄,例如這裡我解壓到了 d servers nginx 1.4.7 將重新命名後的 nginx service.exe 複製到 nginx 的安裝目錄 比如,我這裡是 d servers nginx 1.4.7 1 2 3 4 5 6 7 8 9 10 11 12 xmlvers...