Comprensione dell'architettura di NGINX

4

Secondo questo articolo , nginx ha un processo principale e un numero di processi di lavoro. Sto cercando di capire come una richiesta viene gestita dai processi di lavoro di nginx. nginx utilizza un'architettura event driven con più socket di ascolto e socket di connessione.

Tipicamente con un server web HTTP si avrebbe un singolo processo in ascolto sulla porta 80. Per una nuova connessione i dati per tutte le richieste andrebbero quindi alla porta 80 tramite un socket, ad es. (client-ip, client-port, server-ip, 80) dove 80 è la porta del server. A quanto ho capito, è possibile avere un solo processo in ascolto su una singola porta, quindi come esattamente queste richieste vengono inoltrate a tutte le altre porte utilizzate da nginx? Il processo master copia tutti i dati di richiesta e risposta dalle porte locali avanti e indietro tramite la porta 80?

Grazie.

    
posta Eric Conner 13.09.2017 - 21:33
fonte

1 risposta

3

Each NGINX worker process is initialized with the NGINX configuration and is provided with a set of listen sockets by the master process.

The NGINX worker processes begin by waiting for events on the listen sockets - Inside Nginx Architecture

worker processes accept new requests from a shared "listen" socket - The architecture of open source projects

Fondamentalmente solo il master si collega alla porta 80 (o qualunque altra porta sia configurata). Apre una serie di unix domini socket e condivide i socket con i processi di lavoro. Quindi i processi di lavoro girano semplicemente in un ciclo accettando le connessioni dai socket condivisi e gestendoli. La particolarità dei socket di dominio unix è che possono essere utilizzati per condividere le descrizioni dei file aperti (es. prese) attraverso i processi .

AFAIK questa non è la "copia" master delle richieste per il lavoratore. La connessione HTTP viene aperta direttamente dal processo di lavoro dal socket e la richiesta viene letta.

    
risposta data 13.09.2017 - 22:20
fonte

Leggi altre domande sui tag