RkBlog

Hardware, programming and astronomy tutorials and reviews.

Moduł Zdarzeń HTTP Nginx

Opis dyrektyw powiązanych ze zdarzeniami w serwerze Nginx związanych z połączeniami HTTP i zdarzeniami systemowymi

Poniżej opisana jest lista dyrektyw konfigurujących zachowane serwera związanych ze zdarzeniami (events).

accept_mutex

Składnia: accept_mutex [ on | off ]
Używane do serializacji wywołań accept().

accept_mutex_delay

Składnia: accept_mutex_delay Nms;
Domyślnie: 500ms
Jeżeli proces workera nie ma "accept mutex" to będzie starał się pozyskać go po podanym czasie.

debug_connection

Składnia: debug_connection [ip | CIDR]
Domyślnie: none
Od wersji 0.3.54 opcja ta wspiera format adresów CIDR. Umożliwia tworzenie logów dla określonego IP/Sieci.
error_log /var/log/nginx/errors;
events {
    debug_connection   192.168.1.1;
}


devpoll_changes, devpoll_events, kqueue_changes, kqueue_events, epoll_events

Składnia: devpoll_changes
Określa jak wiele zdarzeń (events) może być przekazane do/z kernela za pomocą odpowiedniej metody. Dla devpoll domyślna wartość to 32, resta 512.

multi_accept

Składnia: multi_accept [ on | off ]
multi_accept próbuje accept() tyle połączeń ile to możliwe po tym jak nginx zostanie powiadomiony o nowym połączeniu.

rtsig_signo

Składnia: rtsig_signo
Domyślnie: SIGRTMIN+10 (40).
Nginx używa dwóch sygnałów gdy używana jest metoda rtsig. Dyrektywa określa numer pierwszego sygnału, drugi ma numer o 1 większy.

rtsig_overflow_events, rtsig_overflow_test, rtsig_overflow_threshold

Składnia: rtsig_overflow_*
Dyrektywy określające co robić z przepełnieniem kolejki rtsig. Gdy dojdzie do przepełnienia nginx czyście kolejkę a następnie przełącza zdarzenia (events) pomiędzy poll() i rtsig. poll() obsługuje wszystkie nie obsłużone zdarzenia, gdy rtsig periodycznie opróżnia kolejkę by zapobiec kolejnemu przepełnieniu. Gdy przepełnienie zostanie opanowane nginx przełącza się z powrotem do wykorzystywania rtsig.
rtsig_overflow_events określa liczbę zdarzeń (events), która ma być przekazywana przez poll(). Domyślnie 16. rtsig_overflow_test określa liczbę zdarzeń obsługiwanych przez poll(), po przekroczeniu której nginx opróżni kolejkę rtsig. Domyślnie 32. The rtsig_overflow_threshold działa tylko pod Linuksem 2.4.x. Domyślnie 1/10. "rtsig_overflow_threshold 3" oznacza 1/3.

use

Składnia: use [ kqueue | rtsig | epoll | /dev/poll | select | poll | eventport ]
Jeżeli podałeś więcej niż jeden model zdarzeniowy w ./configure, to możesz określić który ma być używany. Domyślnie przy ./configure nginx stara się określić najlepszy dla danego systemu.

worker_connections

Składnia: worker_connections number
Pozwala określić max_clients
max_clients = worker_processes * worker_connections
RkBlog

14 July 2008;

Comment article