nginx et fastcgi: une configuration php haute performance
L'exécution d'applications PHP avec Nginx et FastCGI offre des avantages significatifs des performances et de l'évolutivité par rapport à l'approche traditionnelle Apache / Mod_PHP. Ce guide détaille la mise en place de cette architecture haute performance sur le serveur Ubuntu, en tirant parti de l'efficacité de FastCGI et de la puissance de Nginx.
fastcgi: un boost de performance
Les frais généraux inhérents de CGI de la création d'un nouveau processus pour chaque demande sont atténués par FastCGI. FastCGI maintient des processus persistants, réduisant considérablement la consommation de processeur et de temps. Cela conduit à une amélioration de l'évolutivité et de l'efficacité globale du serveur. L'image ci-dessous illustre un processus CGI typique.
Installation et configuration de base
installer php et nginx: Utilisez apt pour installer les packages nécessaires:
sudo apt-get install php5-cli php5-fpm nginx
Configurez nginx: Évitez l'édition directement de la configuration Nginx par défaut. Créez plutôt une copie:
cd /etc/nginx
sudo rm sites-enabled/default
sudo cp sites-available/default sites-available/my-default
sudo ln -s /etc/nginx/sites-available/my-default sites-enabled/default
activer fastcgi: Décommente les lignes pertinentes dans / etc / nginx / sites-disponible / my-default
pour acheminer les demandes PHP vers le service FastCGI (php5-fpm). La section cruciale doit en ressembler:
location ~ \.php$ {
fastcgi_split_path_info ^(. \.php)(/. )$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
Démarrer nginx:
sudo service nginx start
Vérifier l'installation: crée info.php
(contenant Php phpinfo ();?>
) dans le web root ( / usr / share / nginx / html
). Accéder à info.php
dans votre navigateur doit afficher les informations PHP, confirmant l'intégration de Nginx et PHP via FastCGI. L'API du serveur doit afficher "FPM / FASTCGI".
Améliorations de configuration essentielles
Autorisations de racine Web: Ajustez les autorisations pour éviter la constante sudo
usage:
sudo adduser www-data
sudo chgrp -R www-data /usr/share/nginx/html
sudo chmod -R g rw /usr/share/nginx/html
sudo chmod g s /usr/share/nginx/html
Manipter les scripts non existants: Ajouter une directive try_files
à la configuration nginx pour améliorer la sécurité:
location ~ \.php$ {
try_files $uri $uri/ =404;
# ... other FastCGI directives ...
}
Migration à partir d'Apache: Utilisez des convertisseurs en ligne pour traduire les directives Apache (par exemple, . HTACCESS
règles) en équivalents nginx. Passez soigneusement la configuration convertie avant de l'implémenter.
Conclusion
Ce guide fournit une base robuste pour la mise en place d'un environnement PHP haute performance à l'aide de Nginx et FastCGI. En suivant ces étapes et en incorporant les améliorations de sécurité et de performances recommandées, vous pouvez créer un serveur Web évolutif et efficace pour vos applications PHP. N'oubliez pas de toujours consulter la documentation officielle de Nginx et PHP pour les informations les plus à jour et les meilleures pratiques.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3