Версия nginx под Windows использует “родной” Win32 API (не эмуляцию Cygwin).
В настоящий момент в качестве метода обработки соединений используется
только select() ,
поэтому не стоит ожидать высокой производительности и масштабируемости.
В силу этого и ряда других известных проблем версия nginx под Windows
рассматривается пока как бета-версия.
На данный момент в ней доступна практически вся функциональность, что и
в версии nginx под UNIX, за исключением
XSLT-фильтра, фильтра изображений, модуля GeoIP и встроенного языка Perl.
Чтобы установить nginx/Windows, скачайте
дистрибутив последней основной версии (1.7.0),
поскольку основная ветвь nginx содержит все известные исправления.
Затем распакуйте дистрибутив, перейдите в каталог
nginx-1.7.0
и запустите nginx .
Вот пример для корневого каталога на диске C:
cd c:\
unzip nginx-1.7.0.zip
cd nginx-1.7.0
start nginx
Чтобы увидеть процессы nginx, запустите утилиту командной строки
tasklist :
C:\nginx-1.7.0>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
Один из процессов основной, другой — рабочий.
Если nginx не запускается, нужно искать причину в
в файле лога ошибок logs\error.log .
Если же лог-файл не создался, то причину этого следует искать
в Windows Event Log.
Если вместо ожидаемой страницы выводится страница с ошибкой, нужно также
искать причины ошибки в файле logs\error.log .
nginx/Windows использует каталог, в котором он был запущен, в качестве
префикса для относительных путей в конфигурации.
В вышеприведённом примере префиксом является
C:\nginx-1.7.0\ .
Пути в конфигурационном файле должны задаваться в UNIX-стиле с использованием
прямых слэшей:
access_log logs/site.log;
root C:/web/html;
nginx/Windows работает как стандартное консольное приложение (не сервис)
и управляется при помощи следующих команд:
nginx -s stop |
быстрое завершение |
nginx -s quit |
плавное завершение |
nginx -s reload |
изменение конфигурации,
запуск новых рабочих процессов с новой конфигурацией,
плавное завершение старых рабочих процессов
|
nginx -s reopen |
переоткрытие лог-файлов |
Известные проблемы
-
Хоть и возможен запуск нескольких рабочих процессов, только один из них
реально работает.
-
Рабочий процесс может обслуживать не более 1024 одновременных соединений.
-
Кэш и другие модули, требующие поддержки разделяемой памяти, не работают
под Windows Vista и более поздними версиями в связи с тем, что на этих
версиях Windows включена рандомизация адресного пространства.
Возможные усовершенствования в будущем
-
Запуск в виде сервиса.
-
Использование портов завершения ввода-вывода (I/O completion ports)
в качестве метода обработки соединений.
-
Использование нескольких рабочих нитей внутри одного рабочего процесса.
|