Depuis quelques années, un nouveau serveur Web est arrivé sur le marché et semble prendre de la popularité, au détriment du très populaire serveur Web d'Apache. Celui-ci, nommé Nginx (prononcé engine-ex), utilise moins de RAM et utilise moins de ressources en limitant le nombre de threads que son concurrent (event-based vs thread-based). Plusieurs entreprises à haut trafic apprécient justement ce gain de performance.
Étant moi-même nouveau avec Nginx, j'ai décidé d'écrire cet article pour laisser des traces de son installation et de sa configuration avec PHP.
Installation de Nginx
La configuration suivante est pour l'OS Windows.
Évidemment, la première étape consiste à télécharger Nginx. Placez-le dans le dossier de votre choix, par exemple : D:\Nginx.
Afin de spécifier le "DocumentRoot" voulu (répertoire racine des fichiers Web), il faut modifier le fichier nginx/conf/nginx.conf afin que la section server (listen 80) possède l'emplacement voulu.
location / { root D:\gitlocal\web; # <-- ligne modifiée index index.html index.htm; }
Installation de PHP
D'abord, il faut télécharger et installer PHP.
location ~ \.php$ {
root D:\gitlocal\web; # <-- Ligne modifiée
fastcgi_pass 127.0.0.1:9123;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi.conf; # <-- Ligne modifiée
}
Noter que les lignes ne sont plus en commentaire.
Démarrer PHP et Nginx
Voici certaines commandes que vous pouvez exécuter dans un CMD (terminal) afin de contrôler Nginx.
> nginx.exe # Démarrage > nginx.exe -s stop # Fermeture > nginx.exe -s reload # Pour recharger la configuration
Vous devez également démarrer PHP avec la commande suivante :
> C:\PHP\php-cgi.exe -b 127.0.0.1:9123 # Démarrage
Idéalement, il faudrait avoir un script pour démarrer et fermer le serveur (PHP+Nginx), afin de faciliter ces deux opérations. Pour ce faire, je vous suggère fortement de suivre les instructions disponibles sur cette page.
Finalement, lorsque PHP et Nginx sont démarrés, vous devriez pouvoir déposer des fichiers Web dans votre dossier (ici D:/gitlocal/web) et accéder à votre site via l'URL : http://localhost/