ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ
| ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ Β Β Β Β Β 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 |
|---|---|
| Π£ΠΌΠΎΠ»ΡΠ°Π½ΠΈΠ΅: |
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 |
|---|---|
| Π£ΠΌΠΎΠ»ΡΠ°Π½ΠΈΠ΅: |
daemon on; |
| ΠΠΎΠ½ΡΠ΅ΠΊΡΡ: |
main |
ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, Π±ΡΠ΄Π΅Ρ Π»ΠΈ nginx Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ Π΄Π΅ΠΌΠΎΠ½Π°. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ.
| Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ: |
debug_connection
|
|---|---|
| Π£ΠΌΠΎΠ»ΡΠ°Π½ΠΈΠ΅: | β |
| ΠΠΎΠ½ΡΠ΅ΠΊΡΡ: |
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 |
|---|---|
| Π£ΠΌΠΎΠ»ΡΠ°Π½ΠΈΠ΅: | β |
| ΠΠΎΠ½ΡΠ΅ΠΊΡΡ: |
main |
ΠΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ.
Π ΡΠ»ΡΡΠ°Π΅ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠ΅ΡΠΊΠΈ ΡΠΎΠΊΠ΅ΡΠΎΠ² Π² ΠΌΠΎΠΌΠ΅Π½Ρ
ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ° ΡΠ°Π±ΠΎΡΠΈΡ
ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ², Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ debug_points
ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ core-ΡΠ°ΠΉΠ»Π° (abort)
ΠΈΠ»ΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠ° (stop) Ρ ΡΠ΅Π»ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ
Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ°.
| Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ: |
env |
|---|---|
| Π£ΠΌΠΎΠ»ΡΠ°Π½ΠΈΠ΅: |
env TZ; |
| ΠΠΎΠ½ΡΠ΅ΠΊΡΡ: |
main |
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ nginx ΡΠ΄Π°Π»ΡΠ΅Ρ Π²ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ, ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΎΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°, ΠΊΡΠΎΠΌΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ TZ. ΠΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΡΠ°ΡΡΡ ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½Π½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , ΠΏΠΎΠΌΠ΅Π½ΡΡΡ ΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΆΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ. ΠΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π·Π°ΡΠ΅ΠΌ:
- Π½Π°ΡΠ»Π΅Π΄ΡΡΡΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π½Π° Π»Π΅ΡΡ;
- ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΌ ngx_http_perl_module;
- ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠ°Π±ΠΎΡΠΈΠΌΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌΠΈ. Π‘Π»Π΅Π΄ΡΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π² Π²ΠΈΠ΄Ρ, ΡΡΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ Π²ΡΠ΅Π³Π΄Π°, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π·Π°ΡΠ°ΡΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ, ΡΠΎ Π΅ΡΡΡ Π΅ΡΡ Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄Π°Π½Π½ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ. ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΈΠ· ΡΡΠΎΠ³ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΏΠΎΠΌΡΠ½ΡΡΠΎΠ΅ Π²ΡΡΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π½Π° Π»Π΅ΡΡ.
ΠΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ TZ Π½Π΅ ΠΎΠΏΠΈΡΠ°Π½Π° ΡΠ²Π½ΠΎ, ΡΠΎ ΠΎΠ½Π° Π²ΡΠ΅Π³Π΄Π° Π½Π°ΡΠ»Π΅Π΄ΡΠ΅ΡΡΡ ΠΈ Π²ΡΠ΅Π³Π΄Π° Π΄ΠΎΡΡΡΠΏΠ½Π° ΠΌΠΎΠ΄ΡΠ»Ρ ngx_http_perl_module.
ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ:
env MALLOC_OPTIONS; env PERL5LIB=/data/site/modules; env OPENSSL_ALLOW_PROXY_CERTS=1;
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ NGINX ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ ΡΠ΅Π»Π΅ΠΉ nginx ΠΈ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠ°ΠΌΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ.
| Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ: |
error_log |
|---|---|
| Π£ΠΌΠΎΠ»ΡΠ°Π½ΠΈΠ΅: |
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 ΠΈ Π½Π° ΡΡΠΎΠ²Π½Π΅
| Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ: |
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 |
|---|---|
| Π£ΠΌΠΎΠ»ΡΠ°Π½ΠΈΠ΅: |
master_process on; |
| ΠΠΎΠ½ΡΠ΅ΠΊΡΡ: |
main |
ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, Π±ΡΠ΄ΡΡ Π»ΠΈ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ ΡΠ°Π±ΠΎΡΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ. ΠΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² nginx.
| Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ: |
multi_accept |
|---|---|
| Π£ΠΌΠΎΠ»ΡΠ°Π½ΠΈΠ΅: |
multi_accept off; |
| ΠΠΎΠ½ΡΠ΅ΠΊΡΡ: |
events |
ΠΡΠ»ΠΈ multi_accept Π²ΡΠΊΠ»ΡΡΠ΅Π½, ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡ
Π·Π° ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎ Π½ΠΎΠ²ΠΎΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅.
Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡ
Π·Π° ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΡΡΠ°Π·Ρ Π²ΡΠ΅ Π½ΠΎΠ²ΡΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ.
ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Π° ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅ΡΡΡ Π² ΡΠ»ΡΡΠ°Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ kqueue, Ρ.ΠΊ. Π΄Π°Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΡΠ°ΠΌ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ ΡΠΈΡΠ»ΠΎ Π½ΠΎΠ²ΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ, ΠΎΠΆΠΈΠ΄Π°ΡΡΠΈΡ ΠΏΡΠΈΡΠΌΠ°.
| Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ: |
pcre_jit |
|---|---|
| Π£ΠΌΠΎΠ»ΡΠ°Π½ΠΈΠ΅: |
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 |
|---|---|
| Π£ΠΌΠΎΠ»ΡΠ°Π½ΠΈΠ΅: |
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
|
|---|---|
| Π£ΠΌΠΎΠ»ΡΠ°Π½ΠΈΠ΅: |
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;
ΠΠ½ΡΡΡΠ΅Π½Π½ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»Π° Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π°:
-
ΡΠΈΠ»ΡΡΡ
EVFILT_TIMERΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈkqueue; -
timer_create()ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈeventport; -
ΠΈ
setitimer()Π²ΠΎ Π²ΡΠ΅Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ ΡΠ»ΡΡΠ°ΡΡ .
| Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ: |
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 worker_cpu_affinity |
|---|---|
| Π£ΠΌΠΎΠ»ΡΠ°Π½ΠΈΠ΅: | β |
| ΠΠΎΠ½ΡΠ΅ΠΊΡΡ: |
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 |
|---|---|
| Π£ΠΌΠΎΠ»ΡΠ°Π½ΠΈΠ΅: |
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-ΡΠ°ΠΉΠ»Π°, Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅ΡΡ ΠΏΡΠ°Π²Π° Π½Π° Π·Π°ΠΏΠΈΡΡ Π² ΡΡΠΎΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³.