view xml/ru/docs/windows.xml @ 1662:48615cf80e20

Documented the UDP proxy functionality.
author Yaroslav Zhuravlev <yar@nginx.com>
date Tue, 15 Mar 2016 16:31:42 +0300
parents 9ad2770d3f28
children db848aaa123a
line wrap: on
line source

<!--
  Copyright (C) Igor Sysoev
  Copyright (C) Nginx, Inc.
  -->

<!DOCTYPE article SYSTEM "../../../dtd/article.dtd">

<article name="nginx под Windows"
         link="/ru/docs/windows.html"
         lang="ru"
         rev="3">

<section>

<para>
Версия nginx под Windows использует “родной” Win32 API (не эмуляцию Cygwin).
В настоящий момент в качестве метода обработки соединений используется
только <c-func>select</c-func>,
поэтому не стоит ожидать высокой производительности и масштабируемости.
В силу этого и ряда других известных проблем версия nginx под Windows
рассматривается пока как <i>бета</i>-версия.
На данный момент в ней доступна практически вся функциональность, что и
в версии nginx под UNIX, за исключением
XSLT-фильтра, фильтра изображений, модуля GeoIP и встроенного языка Perl.
</para>

<para>
Чтобы установить nginx/Windows, <link doc="../download.xml">скачайте</link>
дистрибутив последней основной версии (<mainline_version/>),
поскольку основная ветвь nginx содержит все известные исправления.
Затем распакуйте дистрибутив, перейдите в каталог
nginx-<mainline_version/>
и запустите <command>nginx</command>.
Вот пример для корневого каталога на диске C:

<programlisting>
cd c:\
unzip nginx-<mainline_version/>.zip
cd nginx-<mainline_version/>
start nginx
</programlisting>

Чтобы увидеть процессы nginx, запустите утилиту командной строки
<command>tasklist</command>:

<programlisting>
C:\nginx-<mainline_version/>&gt;tasklist /fi "imagename eq nginx.exe"

Image Name           PID Session Name     Session#    Mem Usage
=============== ======== ============== ========== ============
nginx.exe            652 Console                 0      2 780 K
nginx.exe           1332 Console                 0      3 112 K
</programlisting>

Один из процессов основной, другой&mdash;рабочий.
Если nginx не запускается, нужно искать причину в
в файле лога ошибок <path>logs\error.log</path>.
Если же лог-файл не создался, то причину этого следует искать
в Windows Event Log.
Если вместо ожидаемой страницы выводится страница с ошибкой, нужно также
искать причины ошибки в файле <path>logs\error.log</path>.
</para>

<para>
nginx/Windows использует каталог, в котором он был запущен, в качестве
префикса для относительных путей в конфигурации.
В вышеприведённом примере префиксом является
<path>C:\nginx-<mainline_version/>\</path>.
Пути в конфигурационном файле должны задаваться в UNIX-стиле с использованием
прямых слэшей:

<programlisting>
access_log   logs/site.log;
root         C:/web/html;
</programlisting>
</para>

<para>
nginx/Windows работает как стандартное консольное приложение (не сервис)
и управляется при помощи следующих команд:

<table note="yes">

<tr>
<td width="20%">nginx -s stop</td>
<td>быстрое завершение</td>
</tr>

<tr>
<td>nginx -s quit</td>
<td>плавное завершение</td>
</tr>

<tr>
<td>nginx -s reload</td>
<td>
изменение конфигурации,
запуск новых рабочих процессов с новой конфигурацией,
плавное завершение старых рабочих процессов
</td>
</tr>

<tr>
<td>nginx -s reopen</td>
<td>переоткрытие лог-файлов</td>
</tr>

</table>
</para>

</section>

<section id="known_issues"
        name="Известные проблемы">

<list type="bullet">

<listitem>
Хоть и возможен запуск нескольких рабочих процессов, только один из них
реально работает.
</listitem>

<listitem>
Рабочий процесс может обслуживать не более 1024 одновременных соединений.
</listitem>

<listitem>
Кэш и другие модули, требующие поддержки разделяемой памяти, не работают
под Windows Vista и более поздними версиями в связи с тем, что на этих
версиях Windows включена рандомизация адресного пространства.
</listitem>

<listitem>
Проксирование по UDP не поддерживается.
</listitem>

</list>

</section>

<section id="possible_future_enhancements"
        name="Возможные усовершенствования в будущем">

<list type="bullet">

<listitem>
Запуск в виде сервиса.
</listitem>

<listitem>
Использование портов завершения ввода-вывода (I/O completion ports)
в качестве метода обработки соединений.
</listitem>

<listitem>
Использование нескольких рабочих нитей внутри одного рабочего процесса.
</listitem>

</list>

</section>

</article>