Документ создан: 05.06.2013

Установка NGINX, как сервис Windows.

Установка nginx под Windows не составляет труда, но пока нет штатных средств для создания сервиса (службы) Windows для запуска nginx. Решение, однако, есть. И заключается оно в использовании "Windows Service Wrapper" (WSW). Итак, по-порядку:

  1. Качаем nginx с сервера NGINX (я пробовал все доступные на момент установки версии: 1.2.9, 1.4.1, 1.5.0, - и они все работали).
  2. Распаковываем zip-файл, например, на диск "D:\" (D:\nginx).
  3. Создаём в корневом каталоге nginx каталог, например, "service" (D:\nginx\service).
  4. Качаем WSW, без которого запустить ngixn, как Windows-сервис, невозможно, отсюда. Сразу оговорюсь: не гонитесь за самой свежей версией! С последней версией (1.9) мне не удалось запустить ни одну из версий nginx. Однако при использовании WSW версии 1.5 не возникло никаких проблем ни с одной из вышеперечисленных версий ngixn.
  5. Копируем WSW в "D:\nginx\service" с именем, например, "nginx_svc.exe" (D:\nginx\service\nginx_svc.exe).
  6. Там же создаём xml-файл с именем, идентичным имени исполняемого файла (D:\nginx\service\nginx_svc.xml), такого содержимого:
    <service>
            <id>nginx</id>
            <name>nginx</name>
            <description>HTTP-Server nginx</description>
            <executable>d:\nginx\nginx.exe</executable>
            <logpath>d:\nginx\logs</logpath>
            <logmode>roll</logmode>
            <depend></depend>
            <startargument>-p d:\nginx</startargument>
            <stopargument>-p d:\nginx -s stop</stopargument>
    </service>

    Думаю, пояснений не требуется. Все пути меняем под свои, если ставили nginx в иное место.

  7. Преходим в каталог с WSW (D:\nginx\service\) и выполняем установку nginx, как сервиса Windows:
    nginx_svc.exe install
  8. Запускаем службу Windows, например, так:
     net start nginx

Примечание.
Не всегда рестарт или останов службы действительно останавливают nginx. Контролируйте этот момент или будете долго искать - почему у вас изменения конфигурации не вступили в силу. "nginx -s reload" в данном случае тоже не работает, к великому сожалению. По крайней мере, я получал ошибку, вместо перезагрузки конфигурации.

Вроде всё.

 
Recent changes RSS feed Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki Donate