Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
nginx
GitHub Repository: nginx/nginx.org
Path: blob/main/xml/ru/index.xml
1 views
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="/ru/"
10
lang="ru"
11
rev="169">
12
13
14
<section>
15
16
<para>
17
nginx ("<i>engine x</i>")&mdash;это HTTP-сервер, обратный прокси сервер
18
с поддержкой кеширования и балансировки нагрузки,
19
TCP/UDP прокси-сервер,
20
а также почтовый прокси-сервер.
21
Изначально разработан <link url="http://sysoev.ru">Игорем Сысоевым</link>
22
и распространяется под
23
<link url="../LICENSE">лицензией BSD из 2 пунктов</link>.
24
</para>
25
26
<para>
27
nginx известен своей исключительной гибкостью, высокой производительностью
28
и минимальным потреблением ресурсов.
29
Он также:
30
31
<list type="bullet">
32
<listitem>
33
самый популярный веб-сервер в мире
34
[<link url="https://news.netcraft.com/archives/category/web-server-survey/">Netcraft</link>];
35
</listitem>
36
37
<listitem>
38
один из самых востребованных
39
<link url="https://hub.docker.com/search?q=nginx">Docker-образов</link>
40
[<link url="https://www.datadoghq.com/docker-adoption/#six">DataDog</link>];
41
</listitem>
42
43
<listitem>
44
активно используется в
45
<link url="https://kubernetes.io/docs/concepts/services-networking/ingress-controllers/">Ingress-контроллерах
46
для Kubernetes</link>,
47
включая
48
<link url="https://github.com/nginxinc/kubernetes-ingress">наш собственный</link>.
49
</listitem>
50
51
</list>
52
</para>
53
54
<para>
55
Корпоративное распространение, коммерческая поддержка и тренинги
56
осуществляются компанией <link doc="../ru/enterprise.xml">F5, Inc.</link>
57
</para>
58
59
</section>
60
61
62
<section id="basic_http_features"
63
name="Основная функциональность HTTP-сервера">
64
65
<para>
66
<list type="bullet">
67
68
<listitem>
69
Обслуживание статических запросов,
70
<link doc="docs/http/ngx_http_index_module.xml">индексных
71
файлов</link>,
72
<link doc="docs/http/ngx_http_autoindex_module.xml">автоматическое
73
создание списка файлов</link>,
74
<link doc="docs/http/ngx_http_core_module.xml"
75
id="open_file_cache">кэш дескрипторов открытых файлов</link>;
76
</listitem>
77
78
<listitem>
79
<link doc="docs/http/ngx_http_proxy_module.xml">Акселерированное
80
обратное проксирование с кэшированием</link>,
81
<link doc="docs/http/ngx_http_upstream_module.xml">распределение нагрузки
82
и отказоустойчивость</link>;
83
</listitem>
84
85
<listitem>
86
Акселерированная поддержка
87
<link doc="docs/http/ngx_http_fastcgi_module.xml">FastCGI</link>,
88
<link doc="docs/http/ngx_http_uwsgi_module.xml">uwsgi</link>,
89
<link doc="docs/http/ngx_http_scgi_module.xml">SCGI</link> и
90
<link doc="docs/http/ngx_http_memcached_module.xml">memcached</link>
91
серверов с кэшированием,
92
<link doc="docs/http/ngx_http_upstream_module.xml">распределение нагрузки
93
и отказоустойчивость</link>;
94
</listitem>
95
96
<listitem>
97
Модульность, фильтры, в том числе
98
<link doc="docs/http/ngx_http_gzip_module.xml">сжатие (gzip)</link>,
99
byte-ranges (докачка),
100
chunked ответы,
101
<link doc="docs/http/ngx_http_xslt_module.xml">XSLT-фильтр</link>,
102
<link doc="docs/http/ngx_http_ssi_module.xml">SSI-фильтр</link>,
103
<link doc="docs/http/ngx_http_image_filter_module.xml">преобразование
104
изображений</link>;
105
несколько подзапросов на одной странице, обрабатываемые в SSI-фильтре
106
через прокси или FastCGI/uwsgi/SCGI, выполняются параллельно;
107
</listitem>
108
109
<listitem>
110
<link doc="docs/http/ngx_http_ssl_module.xml">Поддержка SSL и
111
расширения TLS SNI</link>;
112
</listitem>
113
114
<listitem>
115
Поддержка <link doc="docs/http/ngx_http_v2_module.xml">HTTP/2</link>
116
с приоритизацией на основе весов и зависимостей;
117
</listitem>
118
119
<listitem>
120
Поддержка <link doc="docs/http/ngx_http_v3_module.xml">HTTP/3</link>.
121
</listitem>
122
123
</list>
124
</para>
125
126
</section>
127
128
129
<section id="other_http_features"
130
name="Другие возможности HTTP-сервера">
131
132
<para>
133
<list type="bullet">
134
135
<listitem>
136
<link doc="docs/http/request_processing.xml">Виртуальные серверы</link>,
137
определяемые по IP-адресу и имени;
138
</listitem>
139
140
<listitem>
141
Поддержка
142
<link doc="docs/http/ngx_http_core_module.xml"
143
id="keepalive_timeout">keep-alive</link>
144
и pipelined соединений;
145
</listitem>
146
147
<listitem>
148
<link doc="docs/http/ngx_http_log_module.xml" id="log_format">Настройка
149
форматов логов</link>,
150
<link doc="docs/http/ngx_http_log_module.xml" id="access_log">буферизованная
151
запись в лог</link>,
152
<link doc="docs/control.xml" id="logs">быстрая ротация логов</link>,
153
<link doc="docs/syslog.xml">запись в syslog</link>;
154
</listitem>
155
156
<listitem>
157
<link doc="docs/http/ngx_http_core_module.xml" id="error_page">Специальные
158
страницы</link> для ошибок 3xx-5xx;
159
</listitem>
160
161
<listitem>
162
rewrite-модуль:
163
<link doc="docs/http/ngx_http_rewrite_module.xml">изменение URI
164
с помощью регулярных выражений</link>;
165
</listitem>
166
167
<listitem>
168
<link doc="docs/http/ngx_http_rewrite_module.xml" id="if">Выполнение
169
разных функций</link> в зависимости от
170
<link doc="docs/http/ngx_http_geo_module.xml">адреса клиента</link>;
171
</listitem>
172
173
<listitem>
174
Ограничение доступа в зависимости от
175
<link doc="docs/http/ngx_http_access_module.xml">адреса клиента</link>,
176
<link doc="docs/http/ngx_http_auth_basic_module.xml">по паролю
177
(HTTP Basic аутентификация)</link> и по
178
<link doc="docs/http/ngx_http_auth_request_module.xml">результату
179
подзапроса</link>;
180
</listitem>
181
182
<listitem>
183
Проверка <link doc="docs/http/ngx_http_referer_module.xml">HTTP referer</link>;
184
</listitem>
185
186
<listitem>
187
<link doc="docs/http/ngx_http_dav_module.xml">Методы
188
PUT, DELETE, MKCOL, COPY и MOVE</link>;
189
</listitem>
190
191
<listitem>
192
<link doc="docs/http/ngx_http_flv_module.xml">FLV</link>
193
и
194
<link doc="docs/http/ngx_http_mp4_module.xml">MP4</link>
195
стриминг;
196
</listitem>
197
198
<listitem>
199
<link doc="docs/http/ngx_http_core_module.xml"
200
id="limit_rate">Ограничение скорости отдачи ответов</link>;
201
</listitem>
202
203
<listitem>
204
Ограничение числа одновременных
205
<link doc="docs/http/ngx_http_limit_conn_module.xml">соединений</link> и
206
<link doc="docs/http/ngx_http_limit_req_module.xml">запросов</link>
207
с одного адреса;
208
</listitem>
209
210
<listitem>
211
<link doc="docs/http/ngx_http_geoip_module.xml">Геолокация по IP-адресу</link>;
212
</listitem>
213
214
<listitem>
215
<link doc="docs/http/ngx_http_split_clients_module.xml">A/B-тестирование</link>;
216
</listitem>
217
218
<listitem>
219
<link doc="docs/http/ngx_http_mirror_module.xml">Зеркалирование запросов</link>;
220
</listitem>
221
222
<listitem>
223
Встроенный <link doc="docs/http/ngx_http_perl_module.xml">Perl</link>;
224
</listitem>
225
226
<listitem>
227
сценарный язык <link doc="docs/njs/index.xml">njs</link>.
228
</listitem>
229
230
</list>
231
</para>
232
233
</section>
234
235
236
<section id="mail_proxy_server_features"
237
name="Функциональность почтового прокси-сервера">
238
239
<para>
240
<list type="bullet">
241
242
<listitem>
243
Перенаправление пользователя на
244
<link doc="docs/mail/ngx_mail_imap_module.xml">IMAP</link>-
245
или
246
<link doc="docs/mail/ngx_mail_pop3_module.xml">POP3</link>-сервер
247
с использованием внешнего HTTP-сервера
248
<link doc="docs/mail/ngx_mail_auth_http_module.xml">аутентификации</link>;
249
</listitem>
250
251
<listitem>
252
Проверка пользователя с помощью внешнего HTTP-сервера
253
<link doc="docs/mail/ngx_mail_auth_http_module.xml">аутентификации</link>
254
и перенаправление соединения на внутренний
255
<link doc="docs/mail/ngx_mail_smtp_module.xml">SMTP</link>-сервер;
256
</listitem>
257
258
<listitem>
259
Методы аутентификации:
260
261
<list type="bullet">
262
263
<listitem>
264
<link doc="docs/mail/ngx_mail_pop3_module.xml" id="pop3_auth">POP3</link>:
265
USER/PASS, APOP, AUTH LOGIN/PLAIN/CRAM-MD5;
266
</listitem>
267
268
<listitem>
269
<link doc="docs/mail/ngx_mail_imap_module.xml" id="imap_auth">IMAP</link>:
270
LOGIN, AUTH LOGIN/PLAIN/CRAM-MD5;
271
</listitem>
272
273
<listitem>
274
<link doc="docs/mail/ngx_mail_smtp_module.xml" id="smtp_auth">SMTP</link>:
275
AUTH LOGIN/PLAIN/CRAM-MD5;
276
</listitem>
277
278
</list>
279
</listitem>
280
281
<listitem>
282
Поддержка <link doc="docs/mail/ngx_mail_ssl_module.xml">SSL</link>;
283
</listitem>
284
285
<listitem>
286
Поддержка
287
<link doc="docs/mail/ngx_mail_ssl_module.xml" id="starttls">STARTTLS
288
и STLS</link>.
289
</listitem>
290
291
</list>
292
</para>
293
294
</section>
295
296
297
<section id="generic_proxy_server_features"
298
name="Функциональность TCP/UDP прокси-сервера">
299
300
<para>
301
<list type="bullet">
302
303
<listitem>
304
<link doc="docs/stream/ngx_stream_proxy_module.xml">Проксирование
305
TCP и UDP;</link>
306
</listitem>
307
308
<listitem>
309
Поддержка <link doc="docs/stream/ngx_stream_ssl_module.xml">SSL</link> и
310
расширения TLS
311
<link doc="docs/stream/ngx_stream_ssl_preread_module.xml">SNI</link>
312
для TCP;
313
</listitem>
314
315
<listitem>
316
<link doc="docs/stream/ngx_stream_upstream_module.xml">Распределение нагрузки
317
и отказоустойчивость</link>;
318
</listitem>
319
320
<listitem>
321
Ограничение доступа в зависимости от
322
<link doc="docs/stream/ngx_stream_access_module.xml">адреса клиента</link>;
323
</listitem>
324
325
<listitem>
326
Выполнение разных функций в зависимости от
327
<link doc="docs/http/ngx_http_geo_module.xml">адреса клиента</link>;
328
</listitem>
329
330
<listitem>
331
Ограничение числа одновременных
332
<link doc="docs/stream/ngx_stream_limit_conn_module.xml">соединений</link>
333
с одного адреса;
334
</listitem>
335
336
<listitem>
337
<link doc="docs/stream/ngx_stream_log_module.xml" id="log_format">Настройка
338
форматов логов</link>,
339
<link doc="docs/stream/ngx_stream_log_module.xml" id="access_log">буферизованная
340
запись в лог</link>,
341
<link doc="docs/control.xml" id="logs">быстрая ротация логов</link>,
342
<link doc="docs/syslog.xml">запись в syslog</link>;
343
</listitem>
344
345
<listitem>
346
<link doc="docs/stream/ngx_stream_geoip_module.xml">Геолокация по IP-адресу</link>;
347
</listitem>
348
349
<listitem>
350
<link doc="docs/stream/ngx_stream_split_clients_module.xml">A/B-тестирование</link>;
351
</listitem>
352
353
<listitem>
354
сценарный язык <link doc="docs/njs/index.xml">njs</link>.
355
</listitem>
356
357
</list>
358
</para>
359
360
</section>
361
362
363
<section id="architecture_and_scalability"
364
name="Архитектура и масштабируемость">
365
366
<para>
367
<list type="bullet">
368
369
<listitem>
370
Один главный и несколько рабочих процессов, рабочие процессы работают под
371
непривилегированным пользователем;
372
</listitem>
373
374
<listitem>
375
<link doc="docs/example.xml">Гибкость конфигурации</link>;
376
</listitem>
377
378
<listitem>
379
<link doc="docs/control.xml" id="reconfiguration">Изменение настроек</link>
380
и <link doc="docs/control.xml" id="upgrade">обновление
381
исполняемого файла</link> без перерыва в обслуживании клиентов;
382
</listitem>
383
384
<listitem>
385
<link doc="docs/events.xml">Поддержка</link>
386
kqueue (FreeBSD 4.1+),
387
epoll (Linux 2.6+),
388
/dev/poll <nobr>(Solaris 7 11/99+),</nobr>
389
event ports <nobr>(Solaris 10),</nobr>
390
select и poll;
391
</listitem>
392
393
<listitem>
394
Использование возможностей, предоставляемых kqueue, таких как
395
<!-- EVFILT_VNODE, --> EV_CLEAR, EV_DISABLE (для временного выключения события),
396
NOTE_LOWAT, EV_EOF, число доступных данных, коды ошибок;
397
</listitem>
398
399
<listitem>
400
Использование возможностей, предоставляемых epoll, таких как
401
EPOLLRDHUP (Linux 2.6.17+, glibc 2.8+) и
402
EPOLLEXCLUSIVE (Linux 4.5+, glibc 2.24+);
403
</listitem>
404
405
<listitem>
406
Поддержка sendfile (FreeBSD 3.1+, Linux 2.2+, macOS 10.5+),
407
sendfile64 (Linux 2.4.21+) и sendfilev <nobr>(Solaris 8 7/01+);</nobr>
408
</listitem>
409
410
<listitem>
411
Поддержка
412
<link doc="docs/http/ngx_http_core_module.xml" id="aio">файлового
413
AIO</link> (FreeBSD 4.3+, Linux 2.6.22+);
414
</listitem>
415
416
<listitem>
417
Поддержка
418
<link doc="docs/http/ngx_http_core_module.xml" id="directio">DIRECTIO</link>
419
(FreeBSD 4.4+, Linux 2.4+, Solaris 2.6+, macOS);
420
</listitem>
421
422
<listitem>
423
<link doc="docs/http/ngx_http_core_module.xml" id="listen">Поддержка</link>
424
accept-фильтров (FreeBSD 4.1+, NetBSD 5.0+) и TCP_DEFER_ACCEPT (Linux 2.4+);
425
</listitem>
426
427
<listitem>
428
На <nobr>10 000</nobr> неактивных HTTP keep-alive соединений расходуется
429
около 2.5M памяти;
430
</listitem>
431
432
<listitem>
433
Минимум операций копирования данных.
434
</listitem>
435
436
</list>
437
</para>
438
439
</section>
440
441
442
<section id="tested_os_and_platforms"
443
name="Протестированные ОС и платформы">
444
445
<para>
446
<list type="bullet">
447
448
<listitem>
449
FreeBSD 3&mdash;12 / i386;
450
FreeBSD 5&mdash;12 / amd64;
451
FreeBSD 11 / ppc;
452
FreeBSD 12 / ppc64;
453
</listitem>
454
455
<listitem>
456
Linux 2.2&mdash;4 / i386;
457
Linux 2.6&mdash;5 / amd64;
458
Linux 3&mdash;4 / armv6l, armv7l, aarch64, ppc64le;
459
Linux 4&mdash;5 / s390x;
460
</listitem>
461
462
<listitem>
463
Solaris 9 / i386, sun4u;
464
Solaris 10 / i386, amd64, sun4v;
465
Solaris 11 / x86;
466
</listitem>
467
468
<listitem>
469
AIX 7.1 / powerpc;
470
</listitem>
471
472
<listitem>
473
HP-UX 11.31 / ia64;
474
</listitem>
475
476
<listitem>
477
macOS / ppc, i386, x86_64;
478
</listitem>
479
480
<listitem>
481
Windows XP,
482
Windows Server 2003,
483
Windows 7,
484
Windows 10,
485
Windows 11.
486
</listitem>
487
488
</list>
489
</para>
490
491
</section>
492
493
</article>
494
495