Par défaut, le serveur Web Apache fonctionne conjointement avec Nginx. Cela permet de charger plus rapidement les pages Web et d’économiser les ressources serveur. Pour découvrir comment Apache et Nginx coopèrent par défaut, consultez la section Apache avec Nginx.

Pour tout site Web, vous pouvez modifier la manière dont Apache et Nginx coopèrent. Plus exactement, vous pouvez :

  • Indiquer si Nginx doit jouer le rôle de proxy pour Apache ou de serveur indépendant pour traiter les requêtes HTTP.
  • Définir le contenu Web (statique ou dynamique) à traiter par chaque serveur si vous utilisez Nginx comme proxy.

Ce genre de paramétrage peut aider à optimiser les performances des applications Web avec un niveau de charge élevé et beaucoup de contenu dynamique (fichiers PHP) ou statique.

Les options d’interface correspondantes sont disponibles dans le Panneau Client, rubrique Sites Web & Domaines <nom_de_domaine> > Paramètres d’Apache et Nginx.

Note: Les paramètres liés à Nginx sont disponibles uniquement si Nginx est activé.

Les schémas ci-dessous présentent toutes les configurations possibles et les avantages et inconvénients de chacune. Remarque : si vous n’utilisez que Nginx, les requêtes ne peuvent atteindre Apache.

Traiter le contenu statique

Le tableau suivant montre comment Plesk traite les requêtes pour un fichier image GIF de 2 Ko selon la configuration Nginx.

 
image 71998
 
Le Traitement intuitif des fichiers statiques est activé.
image 71999

Il s’agit de la configuration optimale en termes de performances et de fiabilité.

La requête est transmise à Apache qui renvoie seulement l’emplacement du fichier. Le fichier est localisé et fourni par Nginx.

Le Traitement intuitif des fichiers statiques est désactivé.
image 72000

Nginx transfère uniquement les demandes et les réponses sans modification. Cela permet d’utiliser ce mode pour résoudre les problèmes liés à Nginx.

Le fichier est envoyé deux fois : d’Apache à Nginx et de Nginx au client. Cela peut légèrement réduire les performances, notamment en cas de fichiers volumineux.

L’extension de fichier GIF est incluse dans le Traitement des fichiers statiques directement avec Nginx.
image 72001

Ce mode améliore les performances pour fournir des fichiers statiques.

Remarque : les requêtes n’atteignant jamais Apache, elles ne sont pas traitées par ses gestionnaires. Cela signifie par exemple que les règles de réécriture ou les directives .htaccess ne sont pas appliquées.

Traitement du contenu dynamique

Le tableau suivant montre comment Plesk traite les requêtes d’un fichier PHP en fonction de la configuration de Nginx.

 
image 71998
 
Gérer PHP avec Nginx est désactivé.
image 72002

Il s’agit de la configuration optimale en termes de performances et de fiabilité.

La requête est transmise à Apache qui exécute le fichier et renvoie le résultat.

Selon les paramètres d’hébergement du site, Apache utilise l’un des gestionnaires suivants : FastCGI, CGI ou le module Apache. Vous pouvez également définir individuellement la version PHP de chaque site.

Gérer PHP avec Nginx est activé.
image 72003

Nginx exécute lui-même le fichier avec le gestionnaire PHP-FPM. Le gestionnaire PHP-FPM est doté de fonctions FastCGI renforcées, susceptible d’améliorer les performances des applications Web, notamment celles avec de nombreux utilisateurs.

Remarque : les requêtes n’atteignant jamais Apache, elles ne sont pas traitées par ses gestionnaires. Cela signifie que certaines applications Web peuvent ne pas fonctionner comme prévu. De plus, les directives Apache .htaccess et les règles de réécriture ne seront également pas appliquées.

Note: Pour que l’option Gérer PHP avec Nginx soit disponible, vous devez installer la prise en charge PHP-FPM pour Nginx. Pour en savoir plus sur l’installation de la prise en charge PHP-FPM, consultez la section Gestionnaires PHP.

Configurer des directives Nginx supplémentaires

Pour ajouter d’autres directives Nginx à un site Web, utilisez le champ Directives supplémentaires Nginx. Lorsque vous éditez ce champ, utilisez la même syntaxe que pour nginx.conf. Par exemple, si vous souhaitez compresser toutes les requêtes par proxy avec gzip, ajoutez la ligne :

gzip_proxied any;

Remarque : vos clients ne peuvent ni voir ni éditer le champ Directives supplémentaires Nginx.