annotate xml/it/docs/beginners_guide.xml @ 1053:6303d4e343a8

Updated the Italian translation.
author Vladimir Homutov <vl@nginx.com>
date Mon, 27 Jan 2014 19:25:54 +0400
parents 19129672444e
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1018
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
1 <!--
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
2 Copyright (C) Nginx, Inc.
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
3 -->
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
4
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
5 <!DOCTYPE article SYSTEM "../../../dtd/article.dtd">
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
6
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
7 <article name="Guida per il principiante"
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
8 link="/it/docs/beginners_guide.html"
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
9 lang="it"
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
10 translator="Angelo Papadia"
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
11 rev="1">
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
12
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
13 <section>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
14
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
15 <para>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
16 La presente guida fornisce una introduzione a nginx e descrive alcune
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
17 semplici funzionalità per il quale può essere utilizzato.
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
18 Nel seguito si presuppone che nginx sia gia' stato installato;
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
19 in caso contrario fare riferimento alla pagina
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
20 <link doc="install.xml"/>.
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
21 La presente guida spiega come avviare, come fermare e come ricaricare
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
22 la configurazione di nginx, descrive brevemente la struttura del file
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
23 di configurazione, spiega come configurare nginx per servire contenuti statici,
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
24 come configurarlo per l'uso come proxy server,
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
25 e come configurarlo per l'uso con un'applicazione FastCGI.
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
26 </para>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
27
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
28 <para>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
29 nginx ha un processo master e numerosi processi worker:
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
30 lo scopo principale del processo master e' leggere e interpretare la configurazione,
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
31 e mantenere i processi worker attivi;
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
32 a loro volta, i processi worker si occupano di gestire effettivamente le richieste.
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
33 nginx utilizza un modello event-based e meccanismi dipendenti dal sistema operativo
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
34 per distribuire con efficienza le richieste fra i processi worker.
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
35 Il numero di processi worker e' definito nel file di configurazione,
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
36 e puo' sia essere fisso,
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
37 sia essere regolato automaticamente in base al numero di core CPU disponibili
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
38 (vedere <link doc="ngx_core_module.xml" id="worker_processes"/>).
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
39 </para>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
40
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
41 <para>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
42 La maniera in cui nginx e i suoi moduli lavorano e' determinata nel file di configurazione;
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
43 per default, tale file si chiama
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
44 <path>nginx.conf</path>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
45 e si trova in una delle directory:
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
46 <path>/usr/local/nginx/conf</path> ,
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
47 <path>/etc/nginx</path> ,
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
48 <path>/usr/local/etc/nginx</path> .
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
49 </para>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
50
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
51 </section>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
52
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
53
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
54 <section id="control" name="Avvio, arresto e ricaricamento della configurazione">
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
55
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
56 <para>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
57 Per far partire nginx, avviare il file eseguibile.
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
58 Una volta partito, nginx puo' essere controllato invocando l'eseguibile con il parametro
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
59 <literal>-s</literal> .
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
60 Usare la seguente sintassi:
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
61 <programlisting>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
62 nginx -s <i>signal</i>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
63 </programlisting>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
64 Dove <i>signal</i> e' uno dei seguenti:
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
65 <list type="bullet">
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
66 <listitem>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
67 <literal>stop</literal>&mdash;arresto rapido
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
68 </listitem>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
69 <listitem>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
70 <literal>quit</literal>&mdash;arresto controllato
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
71 </listitem>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
72 <listitem>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
73 <literal>reload</literal>&mdash;ricaricamento della configurazione
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
74 </listitem>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
75 <listitem>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
76 <literal>reopen</literal>&mdash;riapertura del file di log
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
77 </listitem>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
78 </list>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
79 Ad esempio, per fermare il processo nginx ma attendendo che finisca di servire
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
80 le richieste correnti, va eseguito il seguente comando:
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
81 <programlisting>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
82 nginx -s quit
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
83 </programlisting>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
84 <note>Questo comando dovrebbe essere eseguito dallo stesso utente che ha avviato nginx.</note>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
85 </para>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
86
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
87 <para>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
88 Le modifiche al file di configurazione non saranno applicate sinche'
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
89 nginx non e' riavviato o non riceve il comando di ricaricamento della configurazione.
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
90 Per ricaricare la configurazione, eseguire:
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
91 <programlisting>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
92 nginx -s reload
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
93 </programlisting>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
94 </para>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
95
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
96 <para>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
97 Quando il processo master riceve il segnale di ricaricamento della configurazione,
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
98 verifica la validita' sintattica e tenta di applicare la configurazione riportata nel relativo file.
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
99 Se ha successo, il processo master avvia nuovi processi worker e invia messaggi di chiusura a quelli vecchi,
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
100 che smettono di accettare nuove connessioni ma continuano a servire le richieste correnti sinche' non sono
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
101 state del tutto completate, dopo di che terminano.
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
102 Se la nuova configurazione non risulta corretta, oppure se non e' possibile applicarla,
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
103 il processo master continua a lavorare con la configurazione precedente.
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
104 </para>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
105
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
106 <para>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
107 E' anche possibile inviare un segnale ai processi nginx tramite i normali comandi Unix,
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
108 quale ad esempio <command>kill</command>, che invia un segnale al processo individuato tramite il relativo ID;
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
109 per default, l'ID del processo master di nginx e' scritto nel file <path>nginx.pid</path>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
110 nella directory
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
111 <path>/usr/local/nginx/logs</path> oppure
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
112 <path>/var/run</path> .
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
113 Ad esempio, se l'ID del processo master e' 1628, per inviare il segnale QUIT,
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
114 che causa l'arresto controllato, bisogna eseguire il comando:
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
115 <programlisting>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
116 kill -s QUIT 1628
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
117 </programlisting>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
118 Per ottenere la lista di tutti in processi nginx, e' possibile usare vari comandi,
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
119 fra cui ad esempio <command>ps</command>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
120 nella maniera seguente:
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
121 <programlisting>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
122 ps -ax | grep nginx
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
123 </programlisting>
1053
6303d4e343a8 Updated the Italian translation.
Vladimir Homutov <vl@nginx.com>
parents: 1018
diff changeset
124 Per ulteriori informazioni su come inviare segnali a nginx, fare riferimento a
1018
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
125 <link doc="control.xml"/>.
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
126 </para>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
127
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
128 </section>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
129
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
130
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
131 <section id="conf_structure" name="Struttura del file di configurazione">
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
132
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
133 <para>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
134 nginx e' costituito da moduli che sono controllati da direttiva specificate
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
135 nel file di configurazione.
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
136 Le direttive possono essere semplici o a blocco.
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
137 Una direttiva semplice e' caratterizzata dal nome seguito da parametri separati da spazi,
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
138 e termina con punto e virgola (<literal>;</literal>).
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
139 Una direttiva a blocco ha la stessa struttura di una direttiva semplice,
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
140 ma, invece che con punto e virgola, termina con un insieme di istruzioni aggiuntive racchiuse
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
141 fra parentesi graffe ( <literal>{</literal> e <literal>}</literal> ).
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
142 Una direttiva che puo' avere altre direttive all'interno delle parentesi graffe e' chiamata
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
143 contesto (ad esempio:
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
144 <link doc="ngx_core_module.xml" id="events"/>,
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
145 <link doc="http/ngx_http_core_module.xml" id="http"/>,
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
146 <link doc="http/ngx_http_core_module.xml" id="server"/>,
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
147 e
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
148 <link doc="http/ngx_http_core_module.xml" id="location"/>).
1053
6303d4e343a8 Updated the Italian translation.
Vladimir Homutov <vl@nginx.com>
parents: 1018
diff changeset
149 </para>
6303d4e343a8 Updated the Italian translation.
Vladimir Homutov <vl@nginx.com>
parents: 1018
diff changeset
150
6303d4e343a8 Updated the Italian translation.
Vladimir Homutov <vl@nginx.com>
parents: 1018
diff changeset
151 <para>
1018
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
152 Le direttive del file di configurazione che non sono all'interno di alcun
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
153 contesto sono considerate facenti parte del contesto
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
154 <link doc="ngx_core_module.xml">main</link>.
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
155 Le direttive <literal>events</literal> e <literal>http</literal>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
156 appartengono al contesto <literal>main</literal>, la direttiva <literal>server</literal>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
157 al contesto <literal>http</literal>,
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
158 la direttiva <literal>location</literal> al contesto <literal>server</literal>.
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
159 </para>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
160
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
161 <para>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
162 Tutto cio' che in una riga segue il simbolo <literal>#</literal> e' considerato un commento.
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
163 </para>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
164
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
165 </section>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
166
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
167
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
168 <section id="static" name="Servizio di contenuti statici">
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
169
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
170 <para>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
171 Un compito importante di un web server e' costituito dal servizio
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
172 di file, quali immagini o pagine HTML statiche.
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
173 Di seguito si implementa un esempio in cui, a seconda della richiesta,
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
174 i file sono serviti prendendoli da varie directory locali: <path>/data/www</path>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
175 (che puo' contenere file HTML) e <path>/data/images</path>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
176 (che contiene immagini).
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
177 Per tale implementazione e' necessaria la modifica del file di configurazione,
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
178 con l'aggiunta,
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
179 all'interno di un blocco <link doc="http/ngx_http_core_module.xml" id="http"/>,
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
180 di un blocco <link doc="http/ngx_http_core_module.xml" id="server"/>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
181 a sua volta contenente due blocchi <link doc="http/ngx_http_core_module.xml" id="location"/>.
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
182 </para>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
183
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
184 <para>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
185 Anzitutto, creare le directory <path>/data/www</path> e <path>/data/images</path>,
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
186 e aggiungere nella prima un file <path>index.html</path> contenente un testo qualsiasi,
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
187 nella seconda una immagine a caso.
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
188 </para>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
189
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
190 <para>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
191 Quindi, aprire il file di configurazione;
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
192 si puo' notare che contiene gia' diversi esempi di blocchi <literal>server</literal>,
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
193 per la maggior parte inattivati da commenti;
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
194 inattivare con commenti tutto il blocco <literal>http</literal>, e scriverne uno nuovo:
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
195 <programlisting>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
196 http {
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
197 server {
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
198 }
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
199 }
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
200 </programlisting>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
201 In generale, il file di configurazione puo' includere numerosi blocchi <literal>server</literal>,
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
202 <link doc="http/request_processing.xml">distinti</link> in base alla porta su cui
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
203 sono in <link doc="http/ngx_http_core_module.xml" id="listen">ascolto</link> e al
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
204 <link doc="http/server_names.xml">nome del server</link>.
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
205 Una volta che nginx ha deciso quale <literal>server</literal> deve processare una data richiesta,
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
206 confronta l'URI presente nell'header della stessa con i parametri delle direttive
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
207 <literal>location</literal> definite all'interno del blocco <literal>server</literal>.
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
208 </para>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
209
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
210 <para>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
211 Aggiungere il seguente blocco <literal>location</literal>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
212 al blocco <literal>server</literal>:
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
213 <programlisting>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
214 location / {
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
215 root /data/www;
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
216 }
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
217 </programlisting>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
218 Questo blocco <literal>location</literal> fa riferimento al prefisso “<literal>/</literal>”,
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
219 da confrontare con l'URI della richiesta:
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
220 se la richiesta corrisponde, l'URI viene aggiunto al path specificato dalla
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
221 direttiva <link doc="http/ngx_http_core_module.xml" id="root"/>,
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
222 in questo caso cioe' a <path>/data/www</path> ,
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
223 per definire sul file system locale il path al file richiesto.
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
224 Se i blocchi <literal>location</literal> che corrispondono sono piu' di uno,
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
225 nginx seleziona quello con il prefisso piu' lungo;
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
226 il blocco <literal>location</literal> dell'esempio riguarda il prefisso
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
227 piu' breve in assoluto, di lunghezza uno, quindi e' effettivamente usato
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
228 solo se tutti gli altri blocchi <literal>location</literal> non corrispondono.
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
229 </para>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
230
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
231 <para>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
232 Tornando all'esempio, aggiungere un secondo blocco <literal>location</literal>:
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
233 <programlisting>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
234 location /images/ {
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
235 root /data;
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
236 }
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
237 </programlisting>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
238 In questo caso ci sara' corrispondenza con
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
239 le richieste che iniziano con <literal>/images/</literal>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
240 (anche <literal>location /</literal> corrisponde alla richiesta,
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
241 ma ha un prefisso piu' breve e quindi priorita' inferiore).
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
242 La configurazione risultante del blocco <literal>server</literal> risulta quindi:
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
243 <programlisting>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
244 server {
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
245 location / {
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
246 root /data/www;
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
247 }
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
248
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
249 location /images/ {
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
250 root /data;
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
251 }
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
252 }
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
253 </programlisting>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
254 Tale configurazione e' effettivamente funzionante,
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
255 con il server in ascolto sulla porta standard 80 e accessibile
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
256 sulla macchina locale a <literal>http://localhost/</literal> .
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
257 In risposta alle richieste di URI che iniziano con <literal>/images/</literal> ,
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
258 il server inviera' file presi dalla directory <path>/data/images</path> ;
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
259 ad esempio, in risposta ad una richiesta
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
260 <literal>http://localhost/images/example.png</literal>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
261 nginx inviera' il file <path>/data/images/example.png</path> .
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
262 Se tale file non esiste, nginx inviera' una risposta che indica
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
263 l'errore 404.
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
264 Richieste di URI che non iniziano con <literal>/images/</literal>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
265 saranno mappate sulla directory <path>/data/www</path> ;
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
266 ad esempio, in risposta ad una richiesta
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
267 <literal>http://localhost/some/example.html</literal>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
268 nginx inviera' il file <path>/data/www/some/example.html</path> .
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
269 </para>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
270
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
271 <para>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
272 Per applicare la nuova configurazione, avviare nginx se e' spento;
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
273 se e' gia' attivo, inviare il segnale <literal>reload</literal> al processo master,
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
274 eseguendo:
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
275 <programlisting>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
276 nginx -s reload
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
277 </programlisting>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
278 </para>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
279
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
280 <para>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
281 <note>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
282 Nel caso in cui qualcosa non vada come atteso, e' possibile cercare
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
283 di capire cosa e' successo verificandolo nei file <path>access.log</path> e
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
284 <path>error.log</path>, presenti nella directory <path>/usr/local/nginx/logs</path> o
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
285 <path>/var/log/nginx</path> .
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
286 </note>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
287 </para>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
288
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
289 </section>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
290
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
291
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
292 <section id="proxy" name="Configurare un semplice proxy server">
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
293
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
294 <para>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
295 Uno degli usi piu' frequenti di nginx prevede la configurazione come proxy server,
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
296 vale a dire un server che riceve le richieste dai client, le passa ai server remoti,
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
297 riceve da essi le risposte, e le reinvia ai client.
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
298 </para>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
299
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
300 <para>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
301 Di seguito si configura un semplice proxy server, il quale serve le richieste
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
302 di immagini con file da una directory locale, e invia invece tutte le altre
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
303 richieste a un ulteriore server web.
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
304 Nell'esempio, entrambi i server saranno definiti su una singola istanza di nginx..
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
305 </para>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
306
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
307 <para>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
308 Per iniziare, definire il server web aggiuntivo inserendo nel file di configurazione di
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
309 nginx un ulteriore blocco <literal>server</literal> con il contenuto seguente:
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
310 <programlisting>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
311 server {
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
312 listen 8080;
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
313 root /data/up1;
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
314
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
315 location / {
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
316 }
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
317 }
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
318 </programlisting>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
319 Si tratta di un semplice server in ascolto sulla porta 8080
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
320 (in precedenza la direttiva <literal>listen</literal> non e' stata specificata
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
321 in quanto e' stata usata la porta standard 80), che mappa tutte le
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
322 richieste sulla directory <path>/data/up1</path> del file system locale.
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
323 Creare tale directory, e inserire in essa un file <path>index.html</path> .
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
324 Notare che la direttiva <literal>root</literal> e' posta nel
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
325 contesto <literal>server</literal> ; tale direttiva <literal>root</literal> e' usata
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
326 quando il blocco <literal>location</literal> scelto per servire una richiesta
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
327 non include una direttiva <literal>root</literal> propria.
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
328 </para>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
329
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
330 <para>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
331 Procedere usando la configurazione del server della sezione precedente e
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
332 modificandola per farne un proxy server.
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
333 Nel primo blocco <literal>location</literal>, inserire la direttiva
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
334 <link doc="http/ngx_http_proxy_module.xml" id="proxy_pass"/>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
335 specificando come parametro il protocollo, il nome e la porta del server
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
336 web aggiuntivo (in questo caso <literal>http://localhost:8080</literal> ):
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
337 <programlisting>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
338 server {
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
339 location / {
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
340 proxy_pass http://localhost:8080;
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
341 }
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
342
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
343 location /images/ {
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
344 root /data;
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
345 }
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
346 }
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
347 </programlisting>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
348 </para>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
349
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
350 <para>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
351 A questo punto modificare il secondo blocco <literal>location</literal>, che al momento
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
352 mappa le richieste con il prefisso <literal>/images/</literal> sui file nella directory
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
353 <path>/data/images</path> , per fare in modo che risponda alle richieste con le
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
354 tipiche estensioni file delle immagini.
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
355 Il blocco <literal>location</literal> sara' il seguente:
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
356 <programlisting>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
357 location ~ \.(gif|jpg|png)$ {
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
358 root /data/images;
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
359 }
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
360 </programlisting>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
361 Il parametro e' una espressione regolare che corrisponde a tutti gli URI
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
362 che terminano con <path>.gif</path>, <path>.jpg</path>, o <path>.png</path>
1053
6303d4e343a8 Updated the Italian translation.
Vladimir Homutov <vl@nginx.com>
parents: 1018
diff changeset
363 (in nginx le espressioni regolari normalmente iniziano con <literal>~</literal>).
1018
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
364 La richiesta corrispondente sara' mappata sulla directory <path>/data/images</path> .
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
365 </para>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
366
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
367 <para>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
368 Per decidere quale blocco <literal>location</literal> debba servire una richiesta,
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
369 nginx per prima cosa verifica le direttive
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
370 <link doc="http/ngx_http_core_module.xml" id="location"/>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
371 che riportano la specifica di un prefisso, registrando quella con il piu' lungo
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
372 prefisso che corrisponde, quindi verifica quelle con una espressione regolare;
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
373 se c'e' corrispondenza con una espressione regolare, nginx sceglie tale
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
374 <literal>location</literal>, altrimenti sceglie quella registrata in precedenza.
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
375 </para>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
376
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
377 <para>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
378 Alla fine la configurazione risultante di un proxy server e' la seguente:
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
379 <programlisting>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
380 server {
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
381 location / {
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
382 proxy_pass http://localhost:8080/;
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
383 }
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
384
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
385 location ~ \.(gif|jpg|png)$ {
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
386 root /data/images;
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
387 }
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
388 }
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
389 </programlisting>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
390 Tale server selezionera' le richieste che terminano in <path>.gif</path>,
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
391 <path>.jpg</path> o <path>.png</path> e le mappera' sulla directory
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
392 <path>/data/images</path> (aggiungendo l'URI al parametro della direttiva
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
393 <literal>root</literal>), mentre invece passera' tutte le altre richieste al web
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
394 server configurato in precedenza.
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
395 </para>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
396
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
397 <para>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
398 Per applicare la nuova configurazione, inviare il segnale <literal>reload</literal>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
399 ad nginx, come descritto nella sezione precedente.
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
400 </para>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
401
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
402 <para>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
403 Ci sono molte <link doc="http/ngx_http_proxy_module.xml">more</link>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
404 direttive che possono essere usate nella configurazione di un proxy.
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
405 </para>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
406
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
407 </section>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
408
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
409
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
410 <section id="fastcgi" name="Configurare il proxying FastCGI">
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
411
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
412 <para>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
413 nginx puo' essere usato per dirigere le richieste ad uno o piu' server
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
414 FastCGI che eseguono applicazioni scritte con vari framework e linguaggi di
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
415 programmazione, ad esempio PHP.
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
416 </para>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
417
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
418 <para>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
419 La configurazione piu' semplice di nginx che consente di lavorare con un server
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
420 FastCGI, richiede l'uso della direttiva
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
421 <link doc="http/ngx_http_fastcgi_module.xml" id="fastcgi_pass"/>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
422 al posto della direttiva <literal>proxy_pass</literal>,
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
423 e della direttiva <link doc="http/ngx_http_fastcgi_module.xml" id="fastcgi_param"/>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
424 per impostare i parametri passati al server FastCGI.
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
425 Nel seguito si suppone che il server FastCGI sia accessibile a <literal>localhost:9000</literal> .
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
426 Prendendo la configurazione di un proxy nella sezione precedente come base,
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
427 sostituire la direttiva <literal>proxy_pass</literal> con la direttiva <literal>fastcgi_pass</literal>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
428 e cambiare il relativo parametro in <literal>localhost:9000</literal> .
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
429 Nel caso del PHP, il parametro <literal>SCRIPT_FILENAME</literal> e' usato per determinare
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
430 il nome dello script, ed il parametro <literal>QUERY_STRING</literal> e' usato per
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
431 passare i parametri della richiesta.
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
432 La configurazione risulta quindi:
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
433 <programlisting>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
434 server {
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
435 location / {
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
436 fastcgi_pass localhost:9000;
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
437 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
438 fastcgi_param QUERY_STRING $query_string;
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
439 }
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
440
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
441 location ~ \.(gif|jpg|png)$ {
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
442 root /data/images;
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
443 }
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
444 }
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
445 </programlisting>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
446 Tale configurazione realizza un server che inoltra tutte le richieste
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
447 (a parte quelle per immagini statiche) tramite il protocollo FastCGI
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
448 ad un server esterno che opera su
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
449 <literal>localhost:9000</literal> .
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
450 </para>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
451
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
452 </section>
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
453
19129672444e Added italian translation.
Vladimir Homutov <vl@nginx.com>
parents:
diff changeset
454 </article>