Установка Nginx на Windows 10, Windows 11, Windows Server 2019

#13  понедельник, 3 июля 2023 г.  9 минут(ы)  756 слов

Установка Nginx на Windows

  • Перейдите на официальный сайт Nginx https://nginx.org/ и перейдите на страницу загрузки https://nginx.org/en/download.html. Загрузите последнюю стабильную версию Nginx для Windows в формате zip.

  • Распакуйте загруженный архив Nginx в каталог на вашем компьютере, например, C:\nginx.

  • Откройте файл nginx.conf, который находится в папке conf в распакованном каталоге Nginx. Внесите необходимые изменения в конфигурацию, например, настройте прослушиваемый порт и корневую директорию вашего веб-сервера.

Откройте командную строку (Command Prompt) от имени администратора и перейдите в каталог, где расположен Nginx (например, C:\nginx). Запустите Nginx, введя следующую команду:

nginx.exe
  • Откройте веб-браузер и введите http://localhost/ в адресной строке. Если Nginx работает должным образом, вы должны увидеть страницу приветствия Nginx.

Для остановки Nginx можно использовать команду nginx.exe -s stop или закрыть командную строку, в которой был запущен сервер.

nginx.exe -s stop

Брандмауэр Windows

Если при первом запуске Nginx на Windows появляется запрос на разрешение доступа по сети, это может быть вызвано настройками брандмауэра Windows. Брандмауэр может обнаружить новое приложение и запросить разрешение на доступ к сети.

Nginx и Брандмауэр Windows

Для разрешения доступа Nginx к сети, следуйте этим шагам:

  • При появлении запроса на разрешение доступа по сети, нажмите на кнопку "Разрешить доступ" или "Разрешить доступ для общественных сетей" (в зависимости от предлагаемых вариантов).

  • Если запрос на разрешение доступа появляется только для частной сети, но не для общественной, вы можете разрешить доступ только для частной сети. В этом случае, выберите опцию "Разрешить доступ" или "Разрешить доступ для частных сетей".

  • Если запрос на разрешение доступа не появляется автоматически, вы можете открыть настройки брандмауэра Windows вручную. Для этого, откройте Панель управления, найдите "Брандмауэр Windows" и откройте его. Затем выберите "Разрешение приложений через брандмауэр Windows" или "Разрешить приложение через брандмауэр Windows". В списке найдите Nginx и убедитесь, что для него установлено разрешение для доступа по сети.

После разрешения доступа Nginx к сети, брандмауэр Windows больше не будет запрашивать разрешение при каждом запуске сервера.

Если проблема продолжает возникать или запрос на разрешение доступа не появляется, убедитесь, что у вас есть достаточные права администратора для изменения настроек брандмауэра и выполнения операций сети на вашей Windows-машине.

Настройка Nginx под Windows в качестве службы

Вы можете создать службу Windows для Nginx вручную, используя встроенную команду sc. Вот как вы можете сделать это:

  • Скачайте и установите Nginx (если вы еще этого не сделали).

  • Откройте командную строку с правами администратора.

  • Выполните следующую команду, заменив путь до nginx.exe на ваш:

sc create nginx binPath= "C:\path\to\nginx.exe"

Обратите внимание на пробел после binPath=, он обязателен.

Теперь у вас есть служба Windows для Nginx. Вы можете запустить ее, используя следующую команду:

net start nginx

После того как служба создана, вы можете запустить ее также с помощью команды sc start [service name], а остановить - с помощью команды sc stop [service name].

sc start nginx
sc stop nginx

Однако, нужно помнить, что Nginx, запущенный таким образом, не будет иметь всех функций, таких как автоматический перезапуск после сбоев и другие. Следует также отметить, что команда sc create создает службу с настройками по умолчанию. В частности, служба будет работать под учетной записью LocalSystem и не будет автоматически запускаться при старте системы. Вы можете изменить эти и другие настройки с помощью дополнительных опций команды sc create или через Менеджер служб Windows.

Также стоит отметить, что по умолчанию служба будет работать под учетной записью LocalSystem, что может не соответствовать вашим требованиям к безопасности. Вы можете изменить учетную запись, под которой работает служба, в свойствах службы в Менеджере служб Windows.

Если вы хотите получить больше контроля над службой, рекомендуется использовать инструментом для создания служб Windows. Ниже приведены некоторые альтернативы:

  • WinSW: WinSW - это инструмент, написанный на C#, который также позволяет запускать приложения как службы Windows. Он обеспечивает поддержку XML для конфигурации служб и поддерживает различные функции управления службами, такие как перезапуск, зависимости служб и т.д.

  • SRVANY: Это утилита из набора инструментов Windows Resource Kit от Microsoft, которая позволяет любому Windows приложению работать как служба. Однако утилита довольно старая и не поддерживается на новых версиях Windows.

  • FireDaemon: Это коммерческий продукт, который позволяет создавать и управлять службами Windows для любого приложения. FireDaemon предлагает множество функций, включая планирование, мониторинг, автоматический перезапуск после сбоев и многое другое.

  • AlwaysUp: Еще одна коммерческая утилита, которая может превращать любое приложение в службу Windows. Она обеспечивает набор функций, включая автоматический перезапуск приложения после сбоев, поддержку электронной почты и даже "приглушение" приложений, которые нежелательно запускать в фоновом режиме.

Итак, в зависимости от ваших требований и бюджета, вы можете выбрать любой из этих инструментов для запуска Nginx как службы Windows.