Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
nginx
GitHub Repository: nginx/nginx.org
Path: blob/main/xml/ru/docs/windows.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 под Windows"
9
link="/ru/docs/windows.html"
10
lang="ru"
11
rev="6">
12
13
<section>
14
15
<para>
16
Версия nginx под Windows использует “родной” Win32 API (не эмуляцию Cygwin).
17
В настоящий момент в качестве методов обработки соединений используются
18
<c-func>select</c-func> и <c-func>poll</c-func> (1.15.9),
19
поэтому не стоит ожидать высокой производительности и масштабируемости.
20
В силу этого и ряда других известных проблем версия nginx под Windows
21
рассматривается пока как <i>бета</i>-версия.
22
На данный момент в ней доступна практически вся функциональность, что и
23
в версии nginx под UNIX, за исключением
24
XSLT-фильтра, фильтра изображений, модуля GeoIP и встроенного языка Perl.
25
</para>
26
27
<para>
28
Чтобы установить nginx/Windows, <link doc="../download.xml">скачайте</link>
29
дистрибутив последней основной версии (<mainline_version/>),
30
поскольку основная ветвь nginx содержит все известные исправления.
31
Затем распакуйте дистрибутив, перейдите в каталог
32
nginx-<mainline_version/>
33
и запустите <command>nginx</command>.
34
Вот пример для корневого каталога на диске C:
35
36
<programlisting>
37
cd c:\
38
unzip nginx-<mainline_version/>.zip
39
cd nginx-<mainline_version/>
40
start nginx
41
</programlisting>
42
43
Чтобы увидеть процессы nginx, запустите утилиту командной строки
44
<command>tasklist</command>:
45
46
<programlisting>
47
C:\nginx-<mainline_version/>&gt;tasklist /fi "imagename eq nginx.exe"
48
49
Image Name PID Session Name Session# Mem Usage
50
=============== ======== ============== ========== ============
51
nginx.exe 652 Console 0 2 780 K
52
nginx.exe 1332 Console 0 3 112 K
53
</programlisting>
54
55
Один из процессов главный, другой&mdash;рабочий.
56
Если nginx не запускается, нужно искать причину в
57
в файле лога ошибок <path>logs\error.log</path>.
58
Если же лог-файл не создался, то причину этого следует искать
59
в Windows Event Log.
60
Если вместо ожидаемой страницы выводится страница с ошибкой, нужно также
61
искать причины ошибки в файле <path>logs\error.log</path>.
62
</para>
63
64
<para>
65
nginx/Windows использует каталог, в котором он был запущен, в качестве
66
префикса для относительных путей в конфигурации.
67
В вышеприведённом примере префиксом является
68
<path>C:\nginx-<mainline_version/>\</path>.
69
Пути в конфигурационном файле должны задаваться в UNIX-стиле с использованием
70
прямых слэшей:
71
72
<programlisting>
73
access_log logs/site.log;
74
root C:/web/html;
75
</programlisting>
76
</para>
77
78
<para>
79
nginx/Windows работает как стандартное консольное приложение (не сервис)
80
и управляется при помощи следующих команд:
81
82
<table note="yes">
83
84
<tr>
85
<td width="20%">nginx -s stop</td>
86
<td>быстрое завершение</td>
87
</tr>
88
89
<tr>
90
<td>nginx -s quit</td>
91
<td>плавное завершение</td>
92
</tr>
93
94
<tr>
95
<td>nginx -s reload</td>
96
<td>
97
изменение конфигурации,
98
запуск новых рабочих процессов с новой конфигурацией,
99
плавное завершение старых рабочих процессов
100
</td>
101
</tr>
102
103
<tr>
104
<td>nginx -s reopen</td>
105
<td>переоткрытие лог-файлов</td>
106
</tr>
107
108
</table>
109
</para>
110
111
</section>
112
113
<section id="known_issues"
114
name="Известные проблемы">
115
116
<list type="bullet">
117
118
<listitem>
119
Хоть и возможен запуск нескольких рабочих процессов, только один из них
120
реально работает.
121
</listitem>
122
123
<listitem>
124
UDP (и, как следствие, QUIC) не поддерживается.
125
</listitem>
126
127
</list>
128
129
</section>
130
131
<section id="possible_future_enhancements"
132
name="Возможные усовершенствования в будущем">
133
134
<list type="bullet">
135
136
<listitem>
137
Запуск в виде сервиса.
138
</listitem>
139
140
<listitem>
141
Использование портов завершения ввода-вывода (I/O completion ports)
142
в качестве метода обработки соединений.
143
</listitem>
144
145
<listitem>
146
Использование нескольких рабочих нитей внутри одного рабочего процесса.
147
</listitem>
148
149
</list>
150
151
</section>
152
153
</article>
154
155