nginx pour Windows
La version de nginx pour Windows utilise l'API Win32 native (pas la couche d'émulation cygwin). Seules les méthodes de traitement des connexions select() et poll() (1.15.9) sont actuellement utilisées, il ne faut donc pas s'attendre à des performances et une évolutivité élevées. En raison de ce problème et de certains autres problèmes connus, la version de nginx pour Windows est considérée comme une version bêta. À l'heure actuelle, elle offre presque les mêmes fonctionnalités qu'une version UNIX de nginx, à l'exception du filtre XSLT, du filtre d'image, du module GeoIP et du langage de programmation Perl intégré.
Pour installer nginx/Windows, téléchargez la dernière version de distribution principale (1.27.3), car la branche principale de nginx contient tous les correctifs connus. Décompressez ensuite la distribution, accédez au répertoire nginx-1.27.3 et exécutez nginx. Voici un exemple pour le répertoire racine de l'unité de disque C: :
cd c:\ unzip nginx-1.27.3.zip cd nginx-1.27.3 start nginx |
Exécutez l'utilitaire de ligne de commande de la liste des tâches pour voir les processus nginx :
C:\nginx-1.27.3>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 |
L'un des processus est le processus maître et l'autre est le processus de travail. Si nginx ne démarre pas, recherchez la raison dans le fichier journal des erreurs logs\error.log. Si le fichier journal n'a pas été créé, la raison doit être signalée dans le journal des événements Windows. Si une page d'erreur s'affiche au lieu de la page attendue, recherchez également la raison dans le fichier logs\error.log.
nginx/Windows utilise le répertoire dans lequel il a été exécuté comme préfixe pour les chemins relatifs dans la configuration. Dans l'exemple ci-dessus, le préfixe est C:\nginx-1.27.3\. Les chemins d'accès dans un fichier de configuration doivent être spécifiés dans le style UNIX à l'aide de barres obliques :
access_log logs/site.log; root C:/web/html; |
nginx/Windows s'exécute comme une application de console standard (pas un service) et peut être géré à l'aide des commandes suivantes :
Commande | Description |
---|---|
nginx -s stop | Arrêt rapide |
nginx -s quit | Arrêt gracieux |
nginx -s reload | Modification de la configuration, démarrage de nouveaux processus de travail avec une nouvelle configuration, arrêt progressif des anciens processus de travail. |
nginx -s reopen | Réouverture des fichiers journaux |
Problèmes connus
- Bien que plusieurs processus de travail puissent être démarrés, un seul d'entre eux effectue réellement un travail.
- La fonctionnalité UDP (et, par nature, QUIC) n'est pas prise en charge.
Améliorations futures possibles
- Exécution en tant que service.
- Utilisation des ports d'achèvement d'entrée/sortie comme méthode de traitement des connexions.
- Utilisation de plusieurs processus léger de travail dans un seul processus de travail.