Pour configurer Nginx pour le côté serveur inclut (SSI), vous devez apporter des modifications à votre fichier de configuration Nginx. Voici un guide étape par étape sur la façon de le faire:
/etc/nginx/nginx.conf
ou dans le répertoire /etc/nginx/sites-available/
. Activer SSI dans le serveur ou le bloc d'emplacement :
Vous devez ajouter la directive ssi
au serveur ou bloc d'emplacement approprié. Voici un exemple de la façon de le faire dans un bloc de localisation:
<code class="nginx">location / { ssi on; }</code>
Configurer les types MIME pour les fichiers SSI :
Vous voudrez peut-être spécifier quels types de fichiers doivent être traités par SSI. Ajoutez la ligne suivante dans le bloc http
pour activer SSI pour les fichiers .shtml
:
<code class="nginx">http { ... ssi_types text/shtml; }</code>
Redémarrer Nginx :
Après ces modifications, vous devez redémarrer ou recharger Nginx pour les appliquer. Vous pouvez le faire avec la commande suivante:
<code class="bash">sudo systemctl restart nginx</code>
ou
<code class="bash">sudo nginx -s reload</code>
Avec ces étapes, Nginx doit désormais être configuré pour traiter les incluses côté serveur.
L'utilisation d'incluse (SSI) (SSI) avec Nginx peut avoir des implications de performances à la fois positives et négatives:
Impact positif :
Impact négatif :
Dans l'ensemble, l'impact des performances de SSI dépend en grande partie du scénario d'utilisation. Pour les sites avec de nombreux incluses statiques, les avantages peuvent l'emporter sur les coûts, mais pour le contenu dynamique, une planification minutieuse est nécessaire pour atténuer les problèmes de performance potentiels.
Oui, vous pouvez utiliser SSI avec Nginx pour inclure du contenu dynamique, mais il y a des considérations à garder à l'esprit:
CGI / Script comprend : Pour inclure le contenu dynamique généré par les scripts ou CGI, vous pouvez utiliser le <!--#include virtual="path/to/script" -->
directive. Par exemple:
<code class="html"><!--#include virtual="/cgi-bin/dynamic_content.cgi" --></code>
FastCGI et SSI : vous pouvez utiliser le module FastCGI de Nginx pour exécuter des scripts comme PHP et inclure leur sortie en utilisant SSI. Voici un exemple de configuration qui combine FastCGI et SSI:
<code class="nginx">location / { ssi on; include fastcgi_params; fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; }</code>
Dans votre fichier HTML, vous utiliseriez alors:
<code class="html"><!--#include virtual="/path/to/php/script.php" --></code>
L'utilisation de SSI pour inclure le contenu dynamique ajoute une couche de complexité à la configuration de votre serveur et peut avoir un impact sur les performances. Assurez-vous que la génération de contenu dynamique est efficace pour éviter d'inclinter négativement les performances de votre site.
Le dépannage des problèmes avec SSI dans NGINX peut être abordé systématiquement. Voici quelques problèmes communs et leurs solutions:
SSI ne fonctionne pas :
ssi on;
est correctement défini sur votre serveur ou votre bloc d'emplacement.ssi_types
.SSI pas analyser :
/var/log/nginx/error.log
) pour des erreurs spécifiques liées au traitement SSI.Contenu dynamique non inclus :
Problèmes de performance :
top
ou htop
pour surveiller l'utilisation du processeur et de la mémoire. Une utilisation élevée pourrait indiquer un traitement SSI inefficace.Problèmes de mise en cache :
En suivant ces étapes et en vérifiant les journaux pertinents, vous devriez être en mesure de diagnostiquer et de résoudre les problèmes communs avec SSI dans Nginx.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!