nginx main配置引數及測試

2021-09-25 22:27:44 字數 3109 閱讀 7936

用於除錯、定位問題

正常執行必備的配置

優化效能的配置

事件相關的配置

正常執行的必備配置:

1、user username [groupname];

指定執行worker程序的使用者 和組,例如:

user nginx nginx;

2、pid /path/to/pid_file;

指定nginx的pid檔案;

pid /var/run/nginx/nginx.pid;

3、worker_rlimit_nofile #;

指定所有worker程序所能夠開啟的最大檔案控制代碼數;每個使用者預設能開啟的最大的檔案數量1024個,乙個鏈結維持乙個套接字檔案。

worker_rlimit_nofile

4、worker_rlimit_sigpending #;

指定每個使用者能夠發往worker的訊號的數量;

5、worker_rlimit_core size;

指定所有的 work 程序能夠開啟的核心檔案大小一般來說這個引數不常使用。

1、worker_processes #:

worker執行緒的個數;通常應該為物理cpu核心個數減1;tnginx可以自動判斷。

2、worker_cpu_affinity cpumask …; tnginx可以支援auto。

context switch :會產生不必要的消耗;然後繫結worker程序至指定的cpu上;

優點:提公升cpu快取命中率。

極限優化cpu隔離,不接受核心排程,而把所有核心全部指定在某一顆cpu上執行。必須剝離cpu中斷處理剝離出去。

cpumask

例如:worker_cpu_affinity 00000001 00000010 00000100;

for example,

worker_processes 4;

worker_cpu_affinity 0001 0010 0100 1000;

3、timer_resolution t;計時器解析度,降低此值減少gettimeofday()系統呼叫;

由於發起系統呼叫後會發生中斷,當乙個伺服器併發訪問量會很大,每個訪問都會記錄日誌,每個日誌都會記錄時間,降低這個值會減少系統呼叫發起次數,從而提高系統的效能。

example:

timer_resolution 100ms;

4、worker_priority number;指明程序優先順序

預設使用者程序nice值為0,然後優先順序為120,優先順序越低,系統執行時間就會越多。

example:

worker_priority -10; ——->110

-20, 19 ———-> 100,139

1、accept_mutex [on|off]

master內部呼叫使用者 請求至各worker時用的負載均衡鎖;開啟時表示能讓多個worker輪流地、序列化地與響應新請求;否則為隨機響應

2、lock_file /path/to/lock_file;

指明acpcept_mutex用到的鎖檔案路徑

3、accept_mutex_delay #ms;

如果accept_mutex開啟後輪著來響應不能搶,這時有可能work會忙不過來,等待多長時間重新接受請求,有可能是讓下乙個worker去相應。

4、use [epoll|rgsig|select|poll];

定義使用的事件模型;建議讓nginx自動選擇;

5、worker_connections #;

每個worker程序所能夠響應的最大併發請求數;還要取決於worker_processes

worker_connections * worker_processes

用於除錯、定位問題:–with-debug

1、daemon [off|on]

是否以守護程序方式啟動nginx;

2、debug_points、debug_connection

編譯安裝必須加上–with-debug才能啟用,一般不是特別奇怪的問題不建議開啟

3、master_process on|off;

是否以master/worker模型來執行nginx;

4、error_log /path/to/error_log level;

錯誤日誌檔案及其級別;出於除錯的目的,可以使用debug級別,但此級別只有在編譯nginx時使用了–with-debug選項才有效;

error_log 位置 級別

example syslog configuration:

error_log syslog:server=192.168.1.1 debug;

常需要調整引數:

worker_processes, worker_connections, work_cpu_affinity, worker_priority

生效配置:

-s signal : send signal to a master process: stop, quit, reopen, reload

# /usr/local/nginx/sbin/nginx -s reload

七、親自完成測試正常的配置檔案。

# vim /etc/nginx/nginx.conf

user nginx nginx;

pid /var/run/nginx/nginx.pid;

worker_rlimit_core 1g;

worker_rlimit_nofile 40000;

worker_processes 3;

worker_cpu_affinity 0001 0010 0100;

timer_resolution 1000ms;

worker_priority -10;

events {

accept_mutex on;

worker_connections 1024;

accept_mutex_delay 500ms;

use epoll;

lock_file /var/lock/nginx.lock;

daemon on;

error_log /var/log/nginx/error.log error;

master_process on;

nginx main配置引數及測試

用於除錯 定位問題 正常執行必備的配置 優化效能的配置 事件相關的配置 正常執行的必備配置 1 user username groupname 指定執行worker程序的使用者 和組,例如 user nginx nginx 2 pid path to pid file 指定nginx的pid檔案 p...

elasticsearch配置引數(總結)及說明

下面的配置在es5以後再版本中使用時需驗證測試,部分引數可能會發生變更 es的人連api都敢大更,這算不了什麼的 elasticsearch configuration es重要配置,修改需謹慎!cluster 集群名字 cluster.name my cluster node 節點名字 node....

vimrc 配置及引數解釋

使用vim 編輯乙個檔案時,檔案內容的展現方式和 vimrc 的設定有關。在 etc vim vimrc 中有系統關於vim的一些的配置。對於系統中的每個使用者user,在 home user vimrc 中含有自己的vim 配置資訊 如果沒有這個配置檔案可以自己建立,它是乙個隱藏檔案,可以提供 l...