1018
|
1 <!--
|
|
2 Copyright (C) Igor Sysoev
|
|
3 Copyright (C) Nginx, Inc.
|
|
4 -->
|
|
5
|
|
6 <!DOCTYPE article SYSTEM "../../dtd/article.dtd">
|
|
7
|
|
8 <article name="nginx"
|
|
9 link="/it/"
|
|
10 lang="it"
|
|
11 translator="Angelo Papadia"
|
|
12 rev="11">
|
|
13
|
|
14
|
|
15 <section>
|
|
16
|
|
17 <para>
|
|
18 nginx [engine x] e' un server HTTP e reverse proxy,
|
|
19 nonche' un server mail proxy, scritto da
|
|
20 <link url="http://sysoev.ru/en/">Igor Sysoev</link>.
|
|
21 Per molto tempo e' stato usato principalmente per alcuni
|
|
22 siti russi ad alto carico, ad esempio
|
|
23 <link url="http://www.yandex.ru">Yandex</link>,
|
|
24 <link url="http://www.mail.ru">Mail.Ru</link>,
|
|
25 <link url="http://vkontakte.ru">VKontakte</link> e
|
|
26 <link url="http://www.rambler.ru">Rambler</link>;
|
|
27 in base ai dati di Netcraft, nell'ottobre 2013 nginx
|
|
28 e' il server HTTP o reverse proxy del
|
|
29 <link url="http://news.netcraft.com/archives/2013/10/02/october-2013-web-server-survey.html">15.08%
|
|
30 dei siti a maggiore carico</link>.
|
|
31 Alcuni casi di successo sono:
|
|
32 <link url="https://signup.netflix.com/openconnect/software">Netflix</link>,
|
|
33 <link url="http://nginx.com/cs/nginx-automattic.html">Wordpress.com</link>,
|
|
34 <link url="http://blog.fastmail.fm/2007/01/04/webimappop-frontend-proxies-changed-to-nginx/">FastMail.FM</link>.
|
|
35 </para>
|
|
36
|
|
37 <para>
|
|
38 La documentazione ed i sorgenti sono distribuiti in base alla
|
|
39 <link url="../LICENSE">licenza BSD con 2 clausole</link>.
|
|
40 </para>
|
|
41
|
|
42 </section>
|
|
43
|
|
44
|
|
45 <section id="basic_http_features"
|
|
46 name="Caratteristiche principali del server HTTP">
|
|
47
|
|
48 <para>
|
|
49 <list type="bullet">
|
|
50
|
|
51 <listitem>
|
|
52 Servizio di file statici e
|
|
53 <link doc="docs/http/ngx_http_index_module.xml">index</link>,
|
|
54 <link doc="docs/http/ngx_http_autoindex_module.xml">autoindexing</link>;
|
|
55 <link doc="docs/http/ngx_http_core_module.xml"
|
|
56 id="open_file_cache">cache dei descrittori dei file aperti</link>;
|
|
57 </listitem>
|
|
58
|
|
59 <listitem>
|
|
60 <link doc="docs/http/ngx_http_proxy_module.xml">Reverse proxy accelerato
|
|
61 con cache</link>;
|
|
62 <link doc="docs/http/ngx_http_upstream_module.xml">semplice bilanciamento
|
|
63 di carico e load balancing</link>;
|
|
64 </listitem>
|
|
65
|
|
66 <listitem>
|
|
67 Supporto accelerato con cache di server
|
|
68 <link doc="docs/http/ngx_http_fastcgi_module.xml">FastCGI</link>,
|
|
69 uwsgi, SCGI, e
|
|
70 <link doc="docs/http/ngx_http_memcached_module.xml">memcached</link>;
|
|
71 <link doc="docs/http/ngx_http_upstream_module.xml">semplice bilanciamento
|
|
72 di carico e load balancing</link>;
|
|
73 </listitem>
|
|
74
|
|
75 <listitem>
|
|
76 Architettura modulare.
|
|
77 Filtri per
|
|
78 <link doc="docs/http/ngx_http_gzip_module.xml">gzip</link>,
|
|
79 intervalli di byte, risposte a blocchi,
|
|
80 <link doc="docs/http/ngx_http_xslt_module.xml">XSLT</link>,
|
|
81 <link doc="docs/http/ngx_http_ssi_module.xml">SSI</link>,
|
|
82 e filtro per la <link doc="docs/http/ngx_http_image_filter_module.xml">
|
|
83 trasformazione d'immagini</link>.
|
|
84 Inclusioni multiple di SSI in una stessa pagina possono essere
|
|
85 processate in parallelo se sono gestite da server proxy o FastCGI;
|
|
86 </listitem>
|
|
87
|
|
88 <listitem>
|
|
89 <link doc="docs/http/ngx_http_ssl_module.xml">Supporto a SSL e TLS SNI
|
|
90 </link>.
|
|
91 </listitem>
|
|
92
|
|
93 </list>
|
|
94 </para>
|
|
95
|
|
96 </section>
|
|
97
|
|
98
|
|
99 <section id="other_http_features"
|
|
100 name="Caratteristiche ulteriori del server HTTP">
|
|
101
|
|
102 <para>
|
|
103 <list type="bullet">
|
|
104
|
|
105 <listitem>
|
|
106 <link doc="docs/http/request_processing.xml">server virtuali</link>
|
|
107 name-based e IP-based;
|
|
108 </listitem>
|
|
109
|
|
110 <listitem>
|
|
111 Supporto a connessioni
|
|
112 <link doc="docs/http/ngx_http_core_module.xml"
|
|
113 id="keepalive_timeout">keep-alive</link>
|
|
114 e pipelined;
|
|
115 </listitem>
|
|
116
|
|
117 <listitem>
|
|
118 Configurazione flessibile;
|
|
119 </listitem>
|
|
120
|
|
121 <listitem>
|
|
122 <link doc="docs/control.xml" id="reconfiguration">Caricamento di una nuova
|
|
123 configurazione </link> e <link doc="docs/control.xml" id="upgrade">
|
|
124 aggiornamento dell'eseguibile</link> senza interruzione di servizio ai client;
|
|
125 </listitem>
|
|
126
|
|
127 <listitem>
|
|
128 <link doc="docs/http/ngx_http_log_module.xml" id="log_format">Access log in vari
|
|
129 formati</link>, <link doc="docs/http/ngx_http_log_module.xml" id="access_log">log con buffer
|
|
130 </link>, e <link doc="docs/control.xml" id="logs">veloce rotazione dei log</link>;
|
|
131 </listitem>
|
|
132
|
|
133 <listitem>
|
|
134 <link doc="docs/http/ngx_http_core_module.xml" id="error_page">Redirezione</link>
|
|
135 dei codici d'errore 3xx-5xx;
|
|
136 </listitem>
|
|
137
|
|
138 <listitem>
|
|
139 Modulo di rewrite:
|
|
140 <link doc="docs/http/ngx_http_rewrite_module.xml">trasformazione delle URI
|
|
141 con uso di espressioni regolari</link>;
|
|
142 </listitem>
|
|
143
|
|
144 <listitem>
|
|
145 <link doc="docs/http/ngx_http_rewrite_module.xml" id="if">Esecuzione di funzioni differenti
|
|
146 </link> a seconda dell'
|
|
147 <link doc="docs/http/ngx_http_geo_module.xml">indirizzo del client</link>;
|
|
148 </listitem>
|
|
149
|
|
150 <listitem>
|
|
151 Controllo d'accesso in base a
|
|
152 <link doc="docs/http/ngx_http_access_module.xml">indirizzo IP del client</link>, a
|
|
153 <link doc="docs/http/ngx_http_auth_basic_module.xml">
|
|
154 password (HTTP Basic authentication)</link>, e al
|
|
155 <link doc="docs/http/ngx_http_auth_request_module.html">risultato di una sottorichiesta</link>;
|
|
156 </listitem>
|
|
157
|
|
158 <listitem>
|
|
159 Validazione del
|
|
160 <link doc="docs/http/ngx_http_referer_module.xml">referer HTTP</link>;
|
|
161 </listitem>
|
|
162
|
|
163 <listitem>
|
|
164 Metodi <link doc="docs/http/ngx_http_dav_module.xml">PUT, DELETE, MKCOL, COPY,
|
|
165 e MOVE</link>;
|
|
166 </listitem>
|
|
167
|
|
168 <listitem>
|
|
169 Streaming
|
|
170 <link doc="docs/http/ngx_http_flv_module.xml">FLV</link> e
|
|
171 <link doc="docs/http/ngx_http_mp4_module.xml">MP4</link>;
|
|
172 </listitem>
|
|
173
|
|
174 <listitem>
|
|
175 <link doc="docs/http/ngx_http_core_module.xml" id="limit_rate">
|
|
176 Limitazione della velocita' del flusso di risposta</link>;
|
|
177 </listitem>
|
|
178
|
|
179 <listitem>
|
|
180 Limitazione del numero di
|
|
181 <link doc="docs/http/ngx_http_limit_conn_module.xml">connessioni</link> o
|
|
182 <link doc="docs/http/ngx_http_limit_req_module.xml">richieste</link>
|
|
183 simultanee da un dato indirizzo;
|
|
184 </listitem>
|
|
185
|
|
186 <listitem>
|
|
187 <link doc="docs/http/ngx_http_perl_module.xml">Perl embedded</link>.
|
|
188 </listitem>
|
|
189
|
|
190 </list>
|
|
191 </para>
|
|
192
|
|
193 </section>
|
|
194
|
|
195
|
|
196 <section id="mail_proxy_server_features"
|
|
197 name="Caratteristiche del server mail proxy">
|
|
198
|
|
199 <para>
|
|
200 <list type="bullet">
|
|
201
|
|
202 <listitem>
|
|
203 Redirezione dell'utente verso server
|
|
204 <link doc="docs/mail/ngx_mail_imap_module.xml">IMAP</link>
|
|
205 o
|
|
206 <link doc="docs/mail/ngx_mail_pop3_module.xml">POP3</link>
|
|
207 tramite un server esterno di
|
|
208 <link doc="docs/mail/ngx_mail_auth_http_module.xml">autenticazione</link>
|
|
209 HTTP;
|
|
210 </listitem>
|
|
211
|
|
212 <listitem>
|
|
213 Autenticazione dell'utente tramite un server esterno di
|
|
214 <link doc="docs/mail/ngx_mail_auth_http_module.xml">autenticazione</link>
|
|
215 e redirezione della connessione verso un server
|
|
216 <link doc="docs/mail/ngx_mail_smtp_module.xml">SMTP</link>;
|
|
217 </listitem>
|
|
218
|
|
219 <listitem>
|
|
220 Metodi di autenticazione:
|
|
221
|
|
222 <list type="bullet">
|
|
223
|
|
224 <listitem>
|
|
225 <link doc="docs/mail/ngx_mail_pop3_module.xml" id="pop3_auth">POP3</link>:
|
|
226 USER/PASS, APOP, AUTH LOGIN/PLAIN/CRAM-MD5;
|
|
227 </listitem>
|
|
228
|
|
229 <listitem>
|
|
230 <link doc="docs/mail/ngx_mail_imap_module.xml" id="imap_auth">IMAP</link>:
|
|
231 LOGIN, AUTH LOGIN/PLAIN/CRAM-MD5;
|
|
232 </listitem>
|
|
233
|
|
234 <listitem>
|
|
235 <link doc="docs/mail/ngx_mail_smtp_module.xml" id="smtp_auth">SMTP</link>:
|
|
236 AUTH LOGIN/PLAIN/CRAM-MD5;
|
|
237 </listitem>
|
|
238
|
|
239 </list>
|
|
240 </listitem>
|
|
241
|
|
242 <listitem>
|
|
243 supporto a
|
|
244 <link doc="docs/mail/ngx_mail_ssl_module.xml">SSL</link>;
|
|
245 </listitem>
|
|
246
|
|
247 <listitem>
|
|
248 supporto a
|
|
249 <link doc="docs/mail/ngx_mail_ssl_module.xml" id="starttls">STARTTLS
|
|
250 e STLS</link>.
|
|
251 </listitem>
|
|
252
|
|
253 </list>
|
|
254 </para>
|
|
255
|
|
256 </section>
|
|
257
|
|
258
|
|
259 <section id="architecture_and_scalability"
|
|
260 name="Architettura e scalabilita'">
|
|
261
|
|
262 <para>
|
|
263 <list type="bullet">
|
|
264
|
|
265 <listitem>
|
|
266 Un processo master e numerosi processi worker;
|
|
267 i processi worker girano con un utente non privilegiato;
|
|
268 </listitem>
|
|
269
|
|
270 <listitem>
|
|
271 <link doc="docs/events.xml">Supporto</link> a
|
|
272 kqueue (FreeBSD 4.1+),
|
|
273 epoll (Linux 2.6+), segnali rt (Linux 2.2.19+),
|
|
274 /dev/poll (Solaris 7 11/99+), event ports (Solaris 10),
|
|
275 select, e poll;
|
|
276 </listitem>
|
|
277
|
|
278 <listitem>
|
|
279 Supporto alle differenti funzionalita' di kqueue, fra cui EV_CLEAR, EV_DISABLE
|
|
280 (per disabilitare temporaneamente eventi), NOTE_LOWAT, EV_EOF,
|
|
281 numero di dati disponibili, codici d'errore;
|
|
282 </listitem>
|
|
283
|
|
284 <listitem>
|
|
285 supporto a sendfile (FreeBSD 3.1+, Linux 2.2+, Mac OS X 10.5+), sendfile64 (Linux 2.4.21+),
|
|
286 e sendfilev (Solaris 8 7/01+);
|
|
287 </listitem>
|
|
288
|
|
289 <listitem>
|
|
290 <link doc="docs/http/ngx_http_core_module.xml" id="aio">File AIO</link>
|
|
291 (FreeBSD 4.3+, Linux 2.6.22+);
|
|
292 </listitem>
|
|
293
|
|
294 <listitem>
|
|
295 <link doc="docs/http/ngx_http_core_module.xml" id="directio">DIRECTIO</link>
|
|
296 (FreeBSD 4.4+, Linux 2.4+, Solaris 2.6+, Mac OS X);
|
|
297 </listitem>
|
|
298
|
|
299 <listitem>
|
|
300 <link doc="docs/http/ngx_http_core_module.xml" id="listen">supporto</link> a
|
|
301 Accept-filters (FreeBSD 4.1+, NetBSD 5.0+) e TCP_DEFER_ACCEPT (Linux 2.4+);
|
|
302 </listitem>
|
|
303
|
|
304 <listitem>
|
|
305 10000 connessioni HTTP keep-alive inattive richiedono circa 2.5M di memoria;
|
|
306 </listitem>
|
|
307
|
|
308 <listitem>
|
|
309 Le operazioni di copia di dati risultano minime.
|
|
310 </listitem>
|
|
311
|
|
312 </list>
|
|
313 </para>
|
|
314
|
|
315 </section>
|
|
316
|
|
317
|
|
318 <section id="tested_os_and_platforms"
|
|
319 name="Piattaforme e sistemi operativi testati">
|
|
320
|
|
321 <para>
|
|
322 <list type="bullet">
|
|
323
|
|
324 <listitem>
|
|
325 FreeBSD 3—10 / i386; FreeBSD 5—10 / amd64;
|
|
326 </listitem>
|
|
327
|
|
328 <listitem>
|
|
329 Linux 2.2—3 / i386; Linux 2.6—3 / amd64;
|
|
330 </listitem>
|
|
331
|
|
332 <listitem>
|
|
333 Solaris 9 / i386, sun4u; Solaris 10 / i386, amd64, sun4v;
|
|
334 </listitem>
|
|
335
|
|
336 <listitem>
|
|
337 AIX 7.1 / powerpc;
|
|
338 </listitem>
|
|
339
|
|
340 <listitem>
|
|
341 HP-UX 11.31 / ia64;
|
|
342 </listitem>
|
|
343
|
|
344 <listitem>
|
|
345 Mac OS X / ppc, i386;
|
|
346 </listitem>
|
|
347
|
|
348 <listitem>
|
|
349 Windows XP, Windows Server 2003.
|
|
350 </listitem>
|
|
351
|
|
352 </list>
|
|
353 </para>
|
|
354
|
|
355 </section>
|
|
356
|
|
357 </article>
|