nginx et fastcgi: une configuration PHP haute performance
L'exécution d'applications PHP avec Nginx et FastCGI offre des avantages significatifs de performances et d'é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: A Performance Boost
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
Installez PHP et NGINX: Utilisez APT pour installer les packages nécessaires:
sudo apt-get install php5-cli php5-fpm nginx
Configurer 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 la FastCGI: Décommente les lignes pertinentes dans /etc/nginx/sites-available/my-default
pour acheminer les demandes PHP vers le service FastCGI (PHP5-FPM). La section cruciale doit ressembler à ceci:
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érifiez l'installation: Créer info.php
(contenant <?php phpinfo(); ?>
) dans la racine Web (/usr/share/nginx/html
). L'accès 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
Utilisation:
sudo adduser <username> 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
Gérer les scripts inexistants: 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.
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!