Основная Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ
Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹
Β Β Β Β Β accept_mutex
Β Β Β Β Β accept_mutex_delay
Β Β Β Β Β daemon
Β Β Β Β Β debug_connection
Β Β Β Β Β debug_points
Β Β Β Β Β env
Β Β Β Β Β error_log
Β Β Β Β Β events
Β Β Β Β Β include
Β Β Β Β Β load_module
Β Β Β Β Β lock_file
Β Β Β Β Β master_process
Β Β Β Β Β multi_accept
Β Β Β Β Β pcre_jit
Β Β Β Β Β pid
Β Β Β Β Β ssl_engine
Β Β Β Β Β ssl_object_cache_inheritable
Β Β Β Β Β thread_pool
Β Β Β Β Β timer_resolution
Β Β Β Β Β use
Β Β Β Β Β user
Β Β Β Β Β worker_aio_requests
Β Β Β Β Β worker_connections
Β Β Β Β Β worker_cpu_affinity
Β Β Β Β Β worker_priority
Β Β Β Β Β worker_processes
Β Β Β Β Β worker_rlimit_core
Β Β Β Β Β worker_rlimit_nofile
Β Β Β Β Β worker_shutdown_timeout
Β Β Β Β Β working_directory

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ

user www www;
worker_processes 2;

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

events {
    use kqueue;
    worker_connections 2048;
}

...

Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹

Бинтаксис: accept_mutex on | off;
Π£ΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΠ΅:
accept_mutex off;
ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚: events

Если accept_mutex Π²ΠΊΠ»ΡŽΡ‡Ρ‘Π½, Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ процСссы Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ соСдинСния ΠΏΠΎ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС ΠΎ Π½ΠΎΠ²Ρ‹Ρ… соСдинСниях Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠΎΠ±Ρ‰Π°Ρ‚ΡŒΡΡ сразу всСм Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ процСссам, ΠΈ ΠΏΡ€ΠΈ Π½ΠΈΠ·ΠΊΠΎΠΉ интСнсивности поступлСния Π½ΠΎΠ²Ρ‹Ρ… соСдинСний Ρ‡Π°ΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… процСссов ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π²Ρ…ΠΎΠ»ΠΎΡΡ‚ΡƒΡŽ.

НСт нСобходимости Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ accept_mutex Π½Π° систСмах, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… Ρ„Π»Π°Π³ EPOLLEXCLUSIVE (1.11.3), ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ использовании reuseport.

Π”ΠΎ вСрсии 1.11.3 ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ использовалось Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ on.

Бинтаксис: accept_mutex_delay врСмя;
Π£ΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΠ΅:
accept_mutex_delay 500ms;
ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚: events

ΠŸΡ€ΠΈ Π²ΠΊΠ»ΡŽΡ‡Ρ‘Π½Π½ΠΎΠΌ accept_mutex Π·Π°Π΄Π°Ρ‘Ρ‚ максимальноС врСмя, Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс вновь попытаСтся Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ соСдинСния, Ссли Π² настоящий ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π½ΠΎΠ²Ρ‹Π΅ соСдинСния ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс.

Бинтаксис: daemon on | off;
Π£ΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΠ΅:
daemon on;
ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚: main

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚, Π±ΡƒΠ΄Π΅Ρ‚ Π»ΠΈ nginx Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π΄Π΅ΠΌΠΎΠ½Π°. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² основном для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

Бинтаксис: debug_connection адрСс | CIDR | unix:;
Π£ΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΠ΅: β€”
ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚: events

Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹ΠΉ Π»ΠΎΠ³ для ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… клиСнтских соСдинСний. Для ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… соСдинСний ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π»ΠΎΠ³Π°, Π·Π°Π΄Π°Π½Π½Ρ‹ΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²ΠΎΠΉ error_log. ΠžΡ‚Π»Π°ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ соСдинСния Π·Π°Π΄Π°ΡŽΡ‚ΡΡ IPv4 ΠΈΠ»ΠΈ IPv6 (1.3.0, 1.2.1) адрСсом ΠΈΠ»ΠΈ ΡΠ΅Ρ‚ΡŒΡŽ. Π‘ΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°Π΄Π°Π½ΠΎ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΈΠΌΠ΅Π½ΠΈ хоста. ΠžΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹ΠΉ Π»ΠΎΠ³ для соСдинСний Ρ‡Π΅Ρ€Π΅Π· UNIX-сокСты (1.3.0, 1.2.1) Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ β€œunix:”.

events {
    debug_connection 127.0.0.1;
    debug_connection localhost;
    debug_connection 192.0.2.0/24;
    debug_connection ::1;
    debug_connection 2001:0db8::/32;
    debug_connection unix:;
    ...
}

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ nginx с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ --with-debug, см. β€œΠžΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹ΠΉ лог”.

Бинтаксис: debug_points abort | stop;
Π£ΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΠ΅: β€”
ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚: main

Π­Ρ‚Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ.

Π’ случаС обнаруТСния Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ ошибки, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡƒΡ‚Π΅Ρ‡ΠΊΠΈ сокСтов Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ пСрСзапуска Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… процСссов, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ debug_points ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ созданию core-Ρ„Π°ΠΉΠ»Π° (abort) ΠΈΠ»ΠΈ остановкС процСсса (stop) с Ρ†Π΅Π»ΡŒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ диагностики с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ систСмного ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ°.

Бинтаксис: env пСрСмСнная[=Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅];
Π£ΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΠ΅:
env TZ;
ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚: main

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ nginx удаляСт всС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ окруТСния, унаслСдованныС ΠΎΡ‚ своСго Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ процСсса, ΠΊΡ€ΠΎΠΌΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ TZ. Π­Ρ‚Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° позволяСт ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ‡Π°ΡΡ‚ΡŒ унаслСдованных ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈΠΌ значСния ΠΈΠ»ΠΈ ΠΆΠ΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ окруТСния. Π­Ρ‚ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π·Π°Ρ‚Π΅ΠΌ:

Если пСрСмСнная TZ Π½Π΅ описана явно, Ρ‚ΠΎ ΠΎΠ½Π° всСгда наслСдуСтся ΠΈ всСгда доступна ΠΌΠΎΠ΄ΡƒΠ»ΡŽ ngx_http_perl_module.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования:

env MALLOC_OPTIONS;
env PERL5LIB=/data/site/modules;
env OPENSSL_ALLOW_PROXY_CERTS=1;

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ окруТСния NGINX ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… Ρ†Π΅Π»Π΅ΠΉ nginx ΠΈ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒΡΡ нСпосрСдствСнно самим ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ.

Бинтаксис: error_log Ρ„Π°ΠΉΠ» [ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ] [json];
Π£ΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΠ΅:
error_log logs/error.log error;
ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚: main, http, mail, stream, server, location

ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΡƒΠ΅Ρ‚ запись Π² Π»ΠΎΠ³. На ΠΎΠ΄Π½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ нСсколько Π»ΠΎΠ³ΠΎΠ² (1.5.2). Если Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ main запись Π»ΠΎΠ³Π° Π² Ρ„Π°ΠΉΠ» явно Π½Π΅ Π·Π°Π΄Π°Π½Π°, Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ„Π°ΠΉΠ» ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π·Π°Π΄Π°Ρ‘Ρ‚ Ρ„Π°ΠΉΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π»ΠΎΠ³. Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ stderr Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ стандартный Ρ„Π°ΠΉΠ» ошибок. Π—Π°ΠΏΠΈΡΡŒ Π² syslog настраиваСтся ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ прСфикса β€œsyslog:”. Π—Π°ΠΏΠΈΡΡŒ Π² ΠΊΠΎΠ»ΡŒΡ†Π΅Π²ΠΎΠΉ Π±ΡƒΡ„Π΅Ρ€ Π² памяти настраиваСтся ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ прСфикса β€œmemory:” ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π±ΡƒΡ„Π΅Ρ€Π° ΠΈ ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ (1.7.11).

Π’Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ опрСдСляСт ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π»ΠΎΠ³Π° ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ: debug, info, notice, warn, error, crit, alert ΠΈΠ»ΠΈ emerg. Π£Ρ€ΠΎΠ²Π½ΠΈ Π»ΠΎΠ³Π°, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ Π²Ρ‹ΡˆΠ΅, пСрСчислСны Π² порядкС возрастания ваТности. ΠŸΡ€ΠΈ установкС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ уровня Π² Π»ΠΎΠ³ ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‚ всС сообщСния ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ уровня ΠΈ ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ большСй ваТности. НапримСр, ΠΏΡ€ΠΈ стандартном ΡƒΡ€ΠΎΠ²Π½Π΅ error Π² Π»ΠΎΠ³ ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‚ сообщСния ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ error, crit, alert ΠΈ emerg. Если этот ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π½Π΅ Π·Π°Π΄Π°Π½, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ error.

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ уровня Π»ΠΎΠ³Π° debug Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ nginx с --with-debug, см. β€œΠžΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹ΠΉ лог”.

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ json (1.29.8) Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ запись Π»ΠΎΠ³-Ρ„Π°ΠΉΠ»Π° ошибок Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ JSON, с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ использования контСкстных Ρ‚Π΅Π³ΠΎΠ²:

{
  "level": "error",
  "timestamp": "2026-05-13T10:30:15.042+00:00",
  "pid": 12345,  "tid": 12345,  "cnum": 3,
  "msg": "connect() failed",
  "client": "192.168.1.10",  "server": "example.com",
  "request": "GET /api HTTP/1.1",
  "upstream": "http://127.0.0.1:8080/api",
  "errno": 111,
  "errtext": "Connection refused"
}

Π Π°Π·ΠΌΠ΅Ρ€ строки Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Ρ‚ΡŒ 2KB, Π΄Π°Π½Π½Ρ‹Π΅ свСрх этого ограничСния ΡΠΎΠΊΡ€Π°Ρ‰Π°ΡŽΡ‚ΡΡ Π΄ΠΎ β€œtruncated”:1. Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ Π»ΠΎΠ³Π° debug Π½Π΅ поддСрТиваСтся для JSON.

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ доступСн ΠΊΠ°ΠΊ Ρ‡Π°ΡΡ‚ΡŒ коммСрчСской подписки.

Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Π° Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ stream начиная с вСрсии 1.7.11 ΠΈ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ mail начиная с вСрсии 1.9.0.

Бинтаксис: events { ... }
Π£ΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΠ΅: β€”
ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚: main

ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ контСкст ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹, Π²Π»ΠΈΡΡŽΡ‰ΠΈΠ΅ Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ соСдинСний.

Бинтаксис: include Ρ„Π°ΠΉΠ» | маска;
Π£ΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΠ΅: β€”
ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚: любой

Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ»Ρ‹, подходящиС ΠΏΠΎΠ΄ Π·Π°Π΄Π°Π½Π½ΡƒΡŽ маску. Π’ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ синтаксичСски Π²Π΅Ρ€Π½Ρ‹Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ ΠΈ Π±Π»ΠΎΠΊΠΈ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования:

include mime.types;
include vhosts/*.conf;

Бинтаксис: load_module Ρ„Π°ΠΉΠ»;
Π£ΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΠ΅: β€”
ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚: main

Π­Ρ‚Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° появилась Π² вСрсии 1.9.11.

Π—Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ динамичСский ΠΌΠΎΠ΄ΡƒΠ»ΡŒ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

load_module modules/ngx_mail_module.so;

Бинтаксис: lock_file Ρ„Π°ΠΉΠ»;
Π£ΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΠ΅:
lock_file logs/nginx.lock;
ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚: main

Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ accept_mutex ΠΈ сСриализации доступа ΠΊ раздСляСмой памяти nginx ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ. На Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ систСм Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, ΠΈ эта Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° игнорируСтся. Для ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… систСм примСняСтся ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Ρ„Π°ΠΉΠ»ΠΎΠ² Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ. Π­Ρ‚Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° Π·Π°Π΄Π°Ρ‘Ρ‚ прСфикс ΠΈΠΌΡ‘Π½ Ρ„Π°ΠΉΠ»ΠΎΠ² Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ.

Бинтаксис: master_process on | off;
Π£ΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΠ΅:
master_process on;
ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚: main

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚, Π±ΡƒΠ΄ΡƒΡ‚ Π»ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ процСссы. Π­Ρ‚Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² nginx.

Бинтаксис: multi_accept on | off;
Π£ΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΠ΅:
multi_accept off;
ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚: events

Если multi_accept Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½, Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс Π·Π° ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎ Π½ΠΎΠ²ΠΎΠ΅ соСдинСниС. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс Π·Π° ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ сразу всС Π½ΠΎΠ²Ρ‹Π΅ соСдинСния.

Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° игнорируСтся Π² случаС использования ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ соСдинСний kqueue, Ρ‚.ΠΊ. Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ сам сообщаСт число Π½ΠΎΠ²Ρ‹Ρ… соСдинСний, ΠΎΠΆΠΈΠ΄Π°ΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΈΡ‘ΠΌΠ°.

Бинтаксис: pcre_jit on | off;
Π£ΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΠ΅:
pcre_jit off;
ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚: main

Π­Ρ‚Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° появилась Π² вСрсии 1.1.12.

Π Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΠΈΠ»ΠΈ Π·Π°ΠΏΡ€Π΅Ρ‰Π°Π΅Ρ‚ использованиС JIT-компиляции (PCRE JIT) для рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, извСстных Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚ парсинга ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

ИспользованиС PCRE JIT способно сущСствСнно ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ.

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ JIT Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° PCRE вСрсии 8.20 ΠΈΠ»ΠΈ Π²Ρ‹ΡˆΠ΅, собранная с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ --enable-jit. ΠŸΡ€ΠΈ сборкС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ PCRE вмСстС с nginx (--with-pcre=), для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ JIT Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ --with-pcre-jit.

Бинтаксис: pid Ρ„Π°ΠΉΠ»;
Π£ΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΠ΅:
pid logs/nginx.pid;
ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚: main

Π—Π°Π΄Π°Ρ‘Ρ‚ Ρ„Π°ΠΉΠ», Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Π½ΠΎΠΌΠ΅Ρ€ (PID) Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ процСсса.

Бинтаксис: ssl_engine устройство;
Π£ΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΠ΅: β€”
ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚: main

Π—Π°Π΄Π°Ρ‘Ρ‚ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ SSL-аксСлСратора.

ΠŸΡ€ΠΈ тСстировании ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° OpenSSL ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ динамичСский ΠΌΠΎΠ΄ΡƒΠ»ΡŒ.

Бинтаксис: ssl_object_cache_inheritable on | off;
Π£ΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΠ΅:
ssl_object_cache_inheritable on;
ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚: main

Π­Ρ‚Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° появилась Π² вСрсии 1.27.4.

Если Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ, Ρ‚ΠΎ SSL-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ (SSL-сСртификаты, сСкрСтныС ΠΊΠ»ΡŽΡ‡ΠΈ, Π΄ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹Π΅ сСртификаты, ΠΎΡ‚ΠΎΠ·Π²Π°Π½Π½Ρ‹Π΅ сСртификаты (CRL)), Π±ΡƒΠ΄ΡƒΡ‚ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ°Ρ… ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

SSL-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Π΅ ΠΈΠ· Ρ„Π°ΠΉΠ»Π°, Π½Π°ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ΡΡ, Ссли врСмя измСнСния ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ индСкс Π½Π΅ измСнились с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° послСднСй ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. Π‘Π΅ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ ΠΊΠ»ΡŽΡ‡ΠΈ, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ ΠΊΠ°ΠΊ engine:name:id, Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π½Π°ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ΡΡ. Π‘Π΅ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ ΠΊΠ»ΡŽΡ‡ΠΈ, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ ΠΊΠ°ΠΊ data:literal, всСгда Π½Π°ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ΡΡ.

SSL-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Π΅ ΠΈΠ· ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒΡΡ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

ssl_object_cache_inheritable on;

http {
    ...
    server {
        ...
        ssl_certificate     example.com.crt;
        ssl_certificate_key example.com.key;
    }
}

Бинтаксис: thread_pool имя threads=число [max_queue=число];
Π£ΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΠ΅:
thread_pool default threads=32 max_queue=65536;
ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚: main

Π­Ρ‚Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° появилась Π² вСрсии 1.7.11.

Π—Π°Π΄Π°Ρ‘Ρ‚ имя ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΡƒΠ»Π° ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ для ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ чтСния ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² Π±Π΅Π· блокирования Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ процСсса.

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ threads Π·Π°Π΄Π°Ρ‘Ρ‚ число ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π² ΠΏΡƒΠ»Π΅.

Если всС ΠΏΠΎΡ‚ΠΎΠΊΠΈ ΠΈΠ· ΠΏΡƒΠ»Π° заняты Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ Π·Π°Π΄Π°Π½ΠΈΠΉ, Π½ΠΎΠ²ΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ своСго выполнСния Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ max_queue ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ число Π·Π°Π΄Π°Π½ΠΈΠΉ, ΠΎΠΆΠΈΠ΄Π°ΡŽΡ‰ΠΈΡ… своСго выполнСния Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π΄ΠΎ 65536 Π·Π°Π΄Π°Π½ΠΈΠΉ. ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ Π·Π°Π΄Π°Π½ΠΈΠ΅ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ с ошибкой.

Бинтаксис: timer_resolution ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»;
Π£ΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΠ΅: β€”
ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚: main

Π£ΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Ρ‚Π°ΠΉΠΌΠ΅Ρ€ΠΎΠ² Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π² Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… процСссах, Π·Π° счёт Ρ‡Π΅Π³ΠΎ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ΡΡ число систСмных Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² gettimeofday(). По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ gettimeofday() вызываСтся послС ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ получСния событий ΠΈΠ· ядра. ΠŸΡ€ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ gettimeofday() вызываСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· Π·Π° ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π».

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования:

timer_resolution 100ms;

ВнутрСнняя рСализация ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π° зависит ΠΎΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°:

Бинтаксис: use ΠΌΠ΅Ρ‚ΠΎΠ΄;
Π£ΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΠ΅: β€”
ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚: events

Π—Π°Π΄Π°Ρ‘Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ соСдинСний. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅Ρ‚ нСобходимости Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ Π΅Π³ΠΎ явно, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ nginx сам Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ эффСктивный ΠΌΠ΅Ρ‚ΠΎΠ΄.

Бинтаксис: user ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ [Π³Ρ€ΡƒΠΏΠΏΠ°];
Π£ΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΠ΅:
user nobody nobody;
ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚: main

Π—Π°Π΄Π°Ρ‘Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ Π³Ρ€ΡƒΠΏΠΏΡƒ, с ΠΏΡ€Π°Π²Π°ΠΌΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ процСссы. Если Π³Ρ€ΡƒΠΏΠΏΠ° Π½Π΅ Π·Π°Π΄Π°Π½Π°, Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π³Ρ€ΡƒΠΏΠΏΠ°, имя ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ совпадаСт с ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

Бинтаксис: worker_aio_requests число;
Π£ΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΠ΅:
worker_aio_requests 32;
ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚: events

Π­Ρ‚Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° появилась Π² вСрсиях 1.1.4 ΠΈ 1.0.7.

ΠŸΡ€ΠΈ использовании aio совмСстно с ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ соСдинСний epoll, Π·Π°Π΄Π°Ρ‘Ρ‚ максимальноС число ΠΎΠΆΠΈΠ΄Π°ΡŽΡ‰ΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ асинхронного Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° для ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ процСсса.

Бинтаксис: worker_connections число;
Π£ΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΠ΅:
worker_connections 512;
ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚: events

Π—Π°Π΄Π°Ρ‘Ρ‚ максимальноС число соСдинСний, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс.

Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π² Π²ΠΈΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ Π² это число входят всС соСдинСния (Π² Ρ‚ΠΎΠΌ числС, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, соСдинСния с проксируСмыми сСрвСрами), Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ соСдинСния с ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌΠΈ. Π‘Ρ‚ΠΎΠΈΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ фактичСскоС число ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… соСдинСний Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Ρ‚ΡŒ Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ограничСния Π½Π° максимальноС число ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ worker_rlimit_nofile.

Бинтаксис: worker_cpu_affinity маска_CPU ...;
worker_cpu_affinity auto [маска_CPU];
Π£ΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΠ΅: β€”
ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚: main

ΠŸΡ€ΠΈΠ²ΡΠ·Ρ‹Π²Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ процСссы ΠΊ Π³Ρ€ΡƒΠΏΠΏΠ°ΠΌ процСссоров. КаТдая Π³Ρ€ΡƒΠΏΠΏΠ° процСссоров задаётся Π±ΠΈΡ‚ΠΎΠ²ΠΎΠΉ маской Ρ€Π°Π·Ρ€Π΅ΡˆΡ‘Π½Π½Ρ‹Ρ… ΠΊ использованию процСссоров. Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ процСсса Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π·Π°Π΄Π°Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ Π³Ρ€ΡƒΠΏΠΏΠ°. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ процСссы Π½Π΅ привязаны ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ процСссорам.

НапримСр,

worker_processes    4;
worker_cpu_affinity 0001 0010 0100 1000;

привязываСт ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ процСссору, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ

worker_processes    2;
worker_cpu_affinity 0101 1010;

привязываСт ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс ΠΊ CPU0/CPU2, Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉΒ β€” ΠΊ CPU1/CPU3. Π’Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π΅Π½ для hyper-threading.

Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ auto (1.9.10) позволяСт автоматичСски ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ процСссы ΠΊ доступным процСссорам:

worker_processes auto;
worker_cpu_affinity auto;

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ маски ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒ процСссоры, доступныС для автоматичСской привязки:

worker_cpu_affinity auto 01010101;

Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° доступна Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° FreeBSD ΠΈ Linux.

Бинтаксис: worker_priority число;
Π£ΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΠ΅:
worker_priority 0;
ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚: main

Π—Π°Π΄Π°Ρ‘Ρ‚ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ планирования Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… процСссов ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Ρ‚ΠΎΠΌΡƒ, ΠΊΠ°ΠΊ это дСлаСтся ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ nice: ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ число ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ высокий ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚. Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π²Π°Ρ€ΡŒΠΈΡ€ΡƒΠ΅Ρ‚ΡΡ ΠΎΡ‚ -20 Π΄ΠΎ 20.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования:

worker_priority -10;

Бинтаксис: worker_processes число | auto;
Π£ΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΠ΅:
worker_processes 1;
ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚: main

Π—Π°Π΄Π°Ρ‘Ρ‚ число Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… процСссов.

ΠžΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ зависит ΠΎΡ‚ мноТСства Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ², Π²ΠΊΠ»ΡŽΡ‡Π°Ρ (Π½ΠΎ Π½Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡΡΡŒ ΠΈΠΌΠΈ) число процСссорных ядСр, число Тёстких дисков с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Ρƒ Π½Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ. Если Π·Π°Ρ‚Ρ€ΡƒΠ΄Π½ΡΠ΅Ρ‚Π΅ΡΡŒ Π² Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ значСния, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒ с установки Π΅Π³ΠΎ Ρ€Π°Π²Π½Ρ‹ΠΌ числу процСссорных ядСр (Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ β€œauto” пытаСтся ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π΅Π³ΠΎ автоматичСски).

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ auto поддСрТиваСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ начиная с вСрсий 1.3.8 ΠΈ 1.2.5.

Бинтаксис: worker_rlimit_core Ρ€Π°Π·ΠΌΠ΅Ρ€;
Π£ΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΠ΅: β€”
ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚: main

Π˜Π·ΠΌΠ΅Π½ΡΠ΅Ρ‚ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° наибольший Ρ€Π°Π·ΠΌΠ΅Ρ€ core-Ρ„Π°ΠΉΠ»Π° (RLIMIT_CORE) для Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… процСссов. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для увСличСния ограничСния Π±Π΅Π· пСрСзапуска Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ процСсса.

Бинтаксис: worker_rlimit_nofile число;
Π£ΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΠ΅: β€”
ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚: main

Π˜Π·ΠΌΠ΅Π½ΡΠ΅Ρ‚ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° максимальноС число ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² (RLIMIT_NOFILE) для Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… процСссов. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для увСличСния ограничСния Π±Π΅Π· пСрСзапуска Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ процСсса.

Бинтаксис: worker_shutdown_timeout врСмя;
Π£ΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΠ΅: β€”
ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚: main

Π­Ρ‚Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° появилась Π² вСрсии 1.11.11.

Π—Π°Π΄Π°Ρ‘Ρ‚ Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚ Π² сСкундах для ΠΏΠ»Π°Π²Π½ΠΎΠ³ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… процСссов. По истСчСнии ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ nginx попытаСтся Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ всС ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ соСдинСния для ускорСния Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ.

Бинтаксис: working_directory ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³;
Π£ΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΠ΅: β€”
ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚: main

Π—Π°Π΄Π°Ρ‘Ρ‚ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ для Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ процСсса. ОсновноС ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅Β β€” запись core-Ρ„Π°ΠΉΠ»Π°, Π² этом случаС Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΏΡ€Π°Π²Π° Π½Π° запись Π² этот ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³.