"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Tutoriel PHP de configuration Nginx + FastCGI

Tutoriel PHP de configuration Nginx + FastCGI

Publié le 2025-04-16
Parcourir:684

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.

Setting Up PHP behind Nginx with FastCGI

Installation et configuration de base

  1. installer php et nginx: Utilisez apt pour installer les packages nécessaires:

    sudo apt-get install php5-cli php5-fpm nginx
  2. 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
  3. 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;
    }
  4. Démarrer nginx:

    sudo service nginx start
  5. 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".

Setting Up PHP behind Nginx with 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.

Dernier tutoriel Plus>

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