625 Shares 4833 views

Nginx: Configurazione e installazione

Che cosa è Apache, nginx? Scopo, le caratteristiche opzioni di personalizzazione – queste sono le cose che ogni sviluppatore web dovrebbe essere familiare per testare i loro sviluppi.

A proposito di nginx dire una parola

Questo strumento ha una principale e di diversi flussi di lavoro. La prima riguarda la lettura e la verifica della configurazione. Anche sotto il suo controllo è la gestione del flusso di lavoro. Il problema del passato – per gestire le richieste in arrivo. Il modello d'uso nginx che si basa sugli eventi. Meccanismi sono anche utilizzati, a seconda del sistema operativo per realizzare richieste di assegnazione efficienti direttamente tra i processi di lavoro. Il loro numero è sempre indicato nel file di configurazione. Il valore può essere fissa o impostata automaticamente, guidata dal numero di core che può essere gestito. Nella configurazione nginx del sistema ei moduli viene effettuata utilizzando il file di configurazione. Pertanto, se avete bisogno di cambiare qualcosa, è necessario guardare per il suo nome. Di solito è nella direttiva / etc / nginx (ma il percorso può variare con altri sistemi) e ha un .conf estensione.

Start, riavvio e log

Per fare questo, è necessario effettuare viene eseguito il Programma. Configurazione nginx-server è possibile solo quando viene avviato. Gestione è effettuata grazie a chiamare l'eseguibile con il parametro -s. Per fare questo, utilizzare il seguente:

segnale nginx -s

In questo caso, è possibile sostituire i seguenti comandi (deve venire da parte dell'utente che ha lanciato l'attrezzo):

  1. Stop. Viene utilizzato per l'arresto rapido.
  2. Ricarica. La squadra aveva bisogno di ricaricare il file di configurazione. Il fatto è che tutte le modifiche non avranno effetto fino a quando il file funziona. E al fine di entrare in vigore, il riavvio è necessario. Non appena si ottiene questo segnale, il processo principale inizia a verificare la correttezza della componente sintattica del file di configurazione e cercare di applicare la guida disponibile qui. In caso di guasto, esso ripristinare le modifiche e funziona con i vecchi parametri. Se tutto va a buon fine, si lancerà nuovi flussi di lavoro, e il vecchio verrà inviato alla fine della domanda.
  3. Esci. Utilizzato per regolare il completamento dei lavori. Viene utilizzato se si vuole aspettare fino a quando le richieste attuali finiscono mantenute.
  4. Riaprire. i file di log di chiusura e apertura.

Utilizzo delle utilità

processi di impostazione possono essere eseguite anche utilizzando mezzi Unix (utilità uccisione sarà discusso come esempio). Di solito utilizzano un meccanismo per inviare il segnale direttamente ai dati di processo. Essi sono collegati per mezzo di ID. Questi dati vengono memorizzati nel file di nginx.pid. Supponiamo che siamo interessati nel processo №134. Poi, per il normale completamento della necessità di inviarci le seguenti informazioni:

uccidere -s QUIT 1628

Supponiamo che vogliamo vedere un elenco di tutti i file aperti. Stiamo facendo uso del programma di utilità ps. Il team ha anche apparirà come segue:

ps ax | grep nginx

Cioè, come si può vedere, utilizzando strumenti supplementari indicano che va la sua applicazione. Ed ora concentriamoci su come commesso nginx-configurazione.

La struttura del file di configurazione

Installazione e configurazione di nginx include il lavoro con i moduli. Essi sono configurati utilizzando le direttive che sono specificati nel file di configurazione. Essi possono essere semplici o blocco. Il primo tipo è costituito dalle direttive e parametri, che sono separati da spazi, e la loro estremità è indicata da una virgola – (;). Il blocco ha una struttura simile. Ma invece di questa chiusura direttiva trova ulteriore insieme di istruzioni che vengono inseriti tra parentesi graffe ({} istruzioni). Se possono pubblicare i nomi e gli altri parametri del processo, essi sono chiamati tali costruzioni hanno il contesto. A titolo di esempio, http, la posizione e il server.

La distribuzione dei contenuti statici

Questa è una delle sfide più importanti per la configurazione nginx. Sotto la distribuzione statistica dei contenuti è immagini significava e pagine HTML (non dinamiche). Supponiamo che abbiamo bisogno di una singola opera sulla configurazione del gruppo nginx nix. E 'difficile farlo? No, diamo un'occhiata a un esempio. Prima di imbarcarsi su di esso, è necessario dettaglio le condizioni del problema. Quindi, a seconda della richiesta, i file verranno da varie directory locali. Così, nel / dati / www abbiamo HTML-documenti. E nella directory / dati / immagini contenente immagini. Ottimale nginx impostazione in questo caso richiede la modifica del file di configurazione, che è necessario configurare l'unità server all'interno http. Per supportare i due saranno utilizzati come location.

Implementazione: Server

Quindi, prima abbiamo bisogno di creare directory e si mettono nei file di cui hanno bisogno per espandere (in html è necessario aggiungere contenuti). Quindi aprire il file di configurazione. In esso il server di default ha già diversi blocchi, che per la maggior parte sono commentate. Per ottenere risultati ottimali, questo processo deve essere effettuato con riguardo a tutti i componenti di default. Quindi aggiungere una nuova unità server utilizzando questo codice:

http {

server {

}

}

Il file di configurazione può lavorare con molti di questi blocchi. Ma devono essere distinti con i loro nomi e le porte attraverso le quali i dati vengono ricevuti.

Implementazione: posizione

Determinato all'interno del server:

posizione / {

radice / dati / www;

}

La presenza del segno "/" è necessario confrontare i dati ottenuti e vedere se esiste una tale indirizzo dalla richiesta elaborata qui. Se non ci sono problemi, quindi specificare il percorso / data / www per il file desiderato che si trova nel sistema locale. Se c'è una partita con pochi isolati, quindi selezionare quello con il prefisso più lungo. In questo esempio, la lunghezza è uguale a uno, cioè, l'uso sarà esclusivamente nel caso in cui non c'è "competizione". Ora, lascia che verrà aggiornato:

localizzazione / images / {

radice / dati;

}

Come si può identificare, siamo alla ricerca di un'immagine. Ora, cerchiamo di combinare tutti gli sviluppi che erano in precedenza, e la configurazione in questo momento è la seguente:

server {

posizione / {

radice / dati / www;

}

localizzazione / images / {

radice / dati;

}

}

Si tratta di una versione funzionante di questo caso, lo standard №80 porto. Questo server senza problemi può essere disponibile sul computer, se si va al seguente indirizzo: http: // localhost /. Come funziona tutto questo lavoro?

Il principio di funzionamento dell'esempio

Così, quando vengono a query che iniziano con A / immagini, il server dei file della directory corrispondente verrà inviato all'utente. In sua assenza sarà dato informazioni che indicano l'errore 404. Se effettuata la configurazione nginx sul computer locale, la richiesta http: //localhost/images/example.png avremo un file il cui /data/images/example.png posizione. Quando si specifica un "/" Ricerca simbolo sarà condotta nella directory / data / www. Ma abbiamo cambiato solo la configurazione. Si comincia a lavorare, è necessario riavviare. Per fare questo, utilizzare il ricaricamento nginx -s. Nel caso in cui il normale funzionamento non è possibile, nel access.log e error.log file situato nella direttiva / usr / / nginx / logs locali, è possibile cercare la causa del guasto.

Creazione di un semplice server proxy

Si può dire circa nginx – la configurazione di questa struttura è una delle applicazioni più comuni (e abbastanza facile, tra l'altro). Esso utilizza il principio del server che riceve una richiesta, e poi li reindirizza ai siti necessari. Dopo di che, la risposta si aspetta da loro, che li invia a colui che ha il compito. Quindi diamo un'occhiata a un esempio di creazione un punto base. Si tratterà le richieste degli utenti di servizi e di fornire loro un'immagine da una directory locale. Così, per bloccare http aggiungere un altro server con il seguente contenuto:

server {

ascolta 8080;

radice / dati / up1;

posizione / {

}

}

Ora, cerchiamo di decifrare per voi: la creazione di un server semplice. Egli ascolterà la porta 8080 non dispone di un ascolto, il server verrà eseguito sul 80 °. Verranno visualizzate tutte le richieste all'interno del file system locale che sono dirette alla directory / data / up1 (naturalmente, prima che sarà necessario crearla). Per essere in grado di controllare, è necessario posizionare il file index.html. A causa del posizionamento delle direttive nel contesto del server principale che possiamo utilizzare la posizione in ogni momento (come quindi le limitazioni di accesso rimossi). Ora stiamo lavorando per creare un proxy. Per farlo funzionare, abbiamo bisogno di direttiva proxy_pass, per il quale verrà specificato il nome del protocollo, e l'impianto portuale come parametri (per il collegamento locale che sarà del tipo http: // localhost: 8080). Ottenere questo risultato:

server {

posizione / {

proxy_pass http: // localhost: 8080;

}

localizzazione / images / {

radice / dati;

}

}

Se si guarda il codice e analizzarlo, si può notare che la seconda posizione dell'unità è stato modificato. Pertanto, in questo caso, si può lavorare con immagini tipiche estensioni. Un po 'diversa, potrebbe essere visualizzato come segue:

posizione ~ (gif | jpg | png) $ {.

root / dati / immagini;

}

La configurazione del proxy finale è la seguente:

server {

posizione / {

proxy_pass http: // localhost: 8080 /;

}

posizione ~ (gif | jpg | png) $ {.

root / dati / immagini;

}

}

Sarà filtrare le richieste al termine di cui ci sono queste estensioni e li inviano alla persona che ha richiesto i file. Non dimenticate che sarà necessario riavviare se si desidera controllare il file di configurazione. E mi creda, è solo nginx-configurazione. Se si apre la configurazione "Vkontakte" file server o altra grande azienda, avranno il codice di più di parole in questo articolo.