Nginx під Windows як сервіс
Nginx сам собою не підтримує роботу як сервіс. Більш того, при запуску він запускає дочірній процес, який обслуговує з'єднання, а батьківський процес служить для керування. Для того, щоб зупинити nginx потрібно запустити його з ключем -s stop тоді батьківський процес приб'є дочірні і коректно завершиться.
Якщо встановити nginx як сервіс стандартними засобами, то при спробі зупинити сервіс вінда тупо вбиває батьківський процес, внаслідок чого дочірні процеси продовжують існувати.
Для того, щоб вирішити цю проблему написано wrapper, якому можна вказати як коректно завершувати процеси. називається це дивоWindows Service Wrapper.
Установка Nginx як сервіс
1). Завантажуємо та розпаковуємо Nginx. Наприклад, у папку D:/nginx Завантажувати тут (за одне корисно почитати цю сторінку): Nginx під Windows
3). Копіюємо winsw в папку, куди розпакували nginx і перейменовуємо в D:\nginx\nginx_svc.exe
4). Створюємо конфіг D:\nginx\nginx_svc.xml
Управління nginx під Linux
nginx -s stop : швидке завершенняnginx -s quit : плавне завершенняnginx -s reload : зміна конфігурації, запуск нових робочих процесів з новою конфігурацією, плавне завершення старих робочих процесівnginx -s reopen : перевідкриття лог-файлівnginx -t : перевірка конфіга на помилки
Щоб побачити процеси nginx, запустіть утиліту командного рядка tasklist:
Інші косяки Nginx під windows
За замовчуванням довжина імені віртуального хоста 32 символи. якщо у вас ім'я хоста довше, то отримаєте помилку: