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