Vous pouvez optimiser le fonctionnement du serveur Web qui héberge les sites Web des clients en installant Nginx, un autre serveur Web extrêmement performant qui est généralement utilisé en tant que serveur proxy inverse. Ce serveur Web a été spécialement conçu pour prendre en charge de larges volumes de contenu statique (comme les images, vidéos, css, xml, etc.). Contrairement à Apache, Nginx est beaucoup plus efficace pour traiter un gros volume de connexions simultanées. Autre atout de ce serveur Web par rapport à Apache : Nginx utilise beaucoup moins de mémoire par connexion client.
Pour profiter de tous les avantages de Nginx, Plesk le configure en tant que serveur proxy inverse qui se situe entre Internet et Apache (cf. le schéma ci-dessous). Autrement dit, Nginx devient un serveur Web frontal qui traite toutes les requêtes entrantes des visiteurs des sites. Les requêtes sont envoyées vers Apache, qui, en retour, différencie les requêtes pour le contenu statique et dynamique. Si une requête est destinée à un fichier statique (comme jpg, css, html, etc. ), Apache passe la demande à tous les gestionnaires ou gestionnaires enregistrés (applique la configuration au niveau du répertoire .htaccess
, réécrit une URL, etc.) et renvoie à Nginx une réponse qui ne contient qu'un emplacement du fichier requis sur le système de fichiers. Nginx localise le fichier et l'envoie au client. Si la requête est destinée à un fichier dynamique (comme un script PHP), Apache exécute le fichier et envoie la réponse à Nginx, qui la fournit au client.
Une telle combinaison de Nginx et Apache présente les avantages suivants :
Pour en savoir plus sur les détails techniques concernant la manière dont Plesk traite les requêtes HTTP à l'aide de Nginx, poursuivez la lecture de cette section. Pour en savoir plus sur l'activation de l'assistance de Nginx dans Plesk, consultez la section Installer Nginx. Si vous ne voulez pas utiliser Nginx, faites d'Apache votre serveur Web frontal en suivant les instructions décrites dans la section Désactiver Nginx.
Pour intégrer sans problème Nginx à Apache, Plesk utilise deux modules Apache supplémentaires :
.htaccess
, mod_php, etc). Par conséquent, si la requête est destinée au contenu dynamique, mod_aclr2 ne l'obtiendra jamais car la requête sera servie par des gestionnaires de niveau supérieur de certains modules Apache (mod_php, mod_perl, mod_cgi, etc. ). Les seules exceptions sont les requêtes SSI : une fois qu'elles atteignent mod_aclr2, il les redirige vers les gestionnaires corrects. Si la requête est destinée à un fichier statique, mod_aclr2 recherche l'emplacement exact du fichier sur le système de fichier et envoie l'emplacement à Nginx. Regardons de plus près comment Plesk traite les requêtes pour le contenu statique et dynamique à l'aide de ces modules.
La séquence de traitement d'une requête HTTP pour un fichier statique se présente comme suit (cf. le diagramme) :
.htaccess
, réécrit l'URL, etc.). À cette étape, mod_rpaf remplace l'adresse IP du serveur Nginx dans la variable d'Apache REMOTE_ADDR par l'adresse du client à partir de l'en-tête X-Forwarded-For.Le schéma ci-dessous est un exemple illustrant comment Plesk traite la requête d'un fichier GIF de 2 Ko.
Lorsque les requêtes sont traitées pour du contenu dynamique, les étapes de 1 à 3 sont identiques. Ensuite, la requête passe dans le gestionnaire du module Apache approprié (mod_php, mod_perl, mod_cgi, etc.) : la requête n'atteint jamais mod_aclr2 (sauf pour les requêtes SSI). Le gestionnaire génère une réponse et l'envoie à Nginx, qui, en retour, fournit la réponse au client. Le schéma ci-dessous illustre comment Plesk traite une requête pour un fichier PHP.
Si vous procédez à une première installation de Plesk, Nginx sera activé par défaut. Si vous mettez à niveau à partir de versions antérieures, vous pouvez ajouter le composant Nginx à tout moment après la mise à niveau dans Outils & Paramètres > Mises à jour et à niveau > Ajouter/Supprimer des composants. Une fois le composant ajouté, vous devez exécuter le service Reverse Proxy Server (Nginx) dans Outils & Paramètres > Gestion des services.
Vous pouvez voir la version du serveur Nginx installé dans Outils & Paramètres > Composants du serveur.
Pour revenir à la configuration avec un seul serveur Web Apache, stoppez le service Reverse Proxy Server (Nginx) dans Outils & Paramètres > Gestion des services.
Pour rétablir Nginx dans le serveur Web frontal, lancez le service Reverse Proxy Server (Nginx).
Remarque : les opérations de démarrage et d'arrêt du service Reverse Proxy Server (Nginx) ne démarrent et n'arrêtent pas simplement Nginx, elles activent la configuration du serveur Web (combinaison de Nginx et d'Apache ou juste Apache en tant que serveur Web frontal). L'opération de redémarrage fonctionne de la même manière pour tous les autres services : le service Nginx est redémarré.