Maison > développement back-end > tutoriel php > Configuration de PHP derrière Nginx avec FastCGI

Configuration de PHP derrière Nginx avec FastCGI

Lisa Kudrow
Libérer: 2025-02-23 08:34:12
original
362 Les gens l'ont consulté

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.

Setting Up PHP behind Nginx with FastCGI

Installation et configuration de base

  1. Installez PHP et NGINX: Utilisez APT pour installer les packages nécessaires:

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

    sudo service nginx start
    Copier après la connexion
  5. 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".

Setting Up PHP behind Nginx with 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
    Copier après la connexion
  • 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 ...
     }
    Copier après la connexion
  • 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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal