Maison  >  Article  >  développement back-end  >  Comment utiliser Nginx avec la programmation PHP ?

Comment utiliser Nginx avec la programmation PHP ?

WBOY
WBOYoriginal
2023-06-12 11:07:401761parcourir

L'utilisation de Nginx dans la programmation PHP est une exigence très courante, car Nginx est un serveur Web hautes performances et un logiciel de serveur proxy inverse qui peut nous aider à gérer plus efficacement les demandes, les réponses et l'équilibrage de charge. Cet article explique comment utiliser Nginx dans la programmation PHP.

Étape 1 : Installer et configurer le serveur Nginx

Tout d'abord, nous devons installer et configurer le serveur Nginx. Sur les systèmes Linux, vous pouvez installer Nginx via le gestionnaire de packages. Par exemple, utilisez la commande apt-get sur Ubuntu :

sudo apt-get update
sudo apt-get install nginx

Une fois l'installation terminée, vous pouvez démarrer le serveur Nginx :

sudo service nginx start

Maintenant, nous devons configurer le serveur Nginx pour gérer les scripts PHP. Dans Nginx, utilisez FastCGI pour traiter les scripts PHP. Vous devez installer FastCGI Process Manager (FPM) pour gérer les scripts PHP.

Dans Ubuntu, vous pouvez utiliser la commande suivante pour installer :

sudo apt-get install php-fpm

Une fois l'installation terminée, vous devez modifier le fichier de configuration de Nginx pour connecter FastCGI à PHP-FPM.

Dans Ubuntu, vous pouvez modifier le bloc /etc/nginx/sites-available/default文件,然后在server pour ajouter les éléments de configuration suivants :

location ~ .php$ {
    fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    fastcgi_index index.php;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

Ensuite, redémarrez le serveur Nginx pour appliquer ces modifications :

sudo service nginx restart

Maintenant, votre serveur Nginx est configuré et prêt à gérer les scripts PHP.

Étape 2 : Utiliser PHP-FPM et Nginx pour traiter du contenu dynamique

Afin de traiter du contenu dynamique, nous pouvons utiliser PHP-FPM et Nginx pour travailler ensemble. PHP-FPM est un gestionnaire de processus FastCGI qui peut être configuré en tant que service backend dans Nginx. Dans cette configuration, Nginx envoie une requête à PHP-FPM et reçoit une réponse.

Ajoutez la configuration suivante dans le fichier de configuration Nginx :

location ~ .php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
}

Dans cette configuration, la directive fastcgi_pass spécifie l'emplacement du processeur PHP backend. Il pointe vers un fichier socket Unix, qui est l’adresse écoutée par le serveur PHP-FPM.

Étape 3 : Traiter le contenu statique à l'aide de PHP et Nginx

Pour traiter le contenu statique, nous pouvons simplement servir le fichier directement sur Nginx. Par exemple, nous pouvons créer la configuration suivante pour les fichiers HTML statiques, les feuilles de style CSS et les fichiers JavaScript :

location / {
   root /var/www/;
   index index.html index.htm;
}

location /css/ {
   root /var/www/;
   expires 1h;
}

location /js/ {
   root /var/www/;
   expires 1h;
}

Dans cette configuration, nous définissons le répertoire racine (root), qui spécifie où se trouvent tous les fichiers. Le délai d'expiration pour les fichiers statiques (HTML, CSS et JavaScript) est fixé à 1 heure pour garantir une utilisation efficace du cache du navigateur.

Étape 4 : Exécuter l'application PHP à l'aide du proxy inverse

Si vous souhaitez exécuter l'application PHP, vous pouvez configurer Nginx en utilisant le mode proxy inverse. En mode proxy inverse, Nginx envoie des requêtes aux applications PHP au nom du client. Ce code peut très bien démontrer le modèle de proxy inverse :

server {
    listen       80;
    server_name  www.example.com;

    location / {
        proxy_pass http://localhost:8000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

Dans ce code, nous configurons l'hôte virtuel sur Nginx puis configurons le proxy inverse dans le bloc d'emplacement. La directive proxy_pass spécifie l'emplacement backend de l'application PHP. Cet emplacement backend peut utiliser le port HTTP local (8000).

Conclusion

Lorsque vous utilisez Nginx pour gérer du contenu dynamique et statique, vous pouvez non seulement améliorer les performances, mais également améliorer l'évolutivité et la sécurité. De plus, l’utilisation du proxy inverse de Nginx permet une configuration et un déploiement plus faciles, ainsi que la possibilité de faire évoluer les applications en toute sécurité.

Dans cet article, nous expliquons comment installer et configurer un serveur Nginx, utiliser PHP-FPM et Nginx pour gérer le contenu dynamique et statique et utiliser un proxy inverse pour exécuter des applications PHP. Avec cela, vous pouvez commencer à utiliser Nginx avec la programmation PHP.

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:
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