Le gestionnaire de processus FastCGI (FPM) est une alternative à la configuration FastCGI avec de multiples améliorations. Ceci est utile pour les sites Web à forte charge. Ce tutoriel vous aidera à installer et configurer PHP-FPM avec Nginx sur votre système Linux Debian 10 Buster.
Prérequis
Vous devez avoir un accès SSH au système Debian 10 avec les privilèges Sudo.
Installation de Nginx
Les packages Nginx sont disponibles dans les référentiels par défaut. Connectez-vous en SSH à votre système Debian 10 avec des comptes de privilèges sudo et installez le serveur Web Nginx à partir du référentiel officiel.
sudo apt update sudo apt install nginx
Installation PHP
Pour l'installation de PHP, nous vous recommandons d'utiliser le PPA d'Ondřej Surý, qui fournit les dernières versions de PHP pour les systèmes Debian. Utilisez les deux commandes ci-dessous pour ajouter le PPA à votre système.
wget -q https://packages.sury.org/php/apt.gpg -O- | sudo apt-key add - sudo echo "deb https://packages.sury.org/php/ buster main" | tee /etc/apt/sources.list.d/php.list
Installez ensuite la dernière version de PHP disponible le jour de la rédaction de ce tutoriel. Exécutez simplement les commandes suivantes pour l'installation des packages PHP et PHP-FPM.
Remarque :- Lorsque vous utilisez PHP-FPM. Toutes les configurations des modules PHP résident sous /etc/php/7.3/fpm/ annuaire. Vous pouvez en savoir plus sur l'activation/la désactivation des modules PHP.apt update sudo apt install php php-fpm
Après avoir installé les packages ci-dessus, le service php7.3-fpm sera automatiquement démarré. Vous pouvez vous en assurer en tapant la commande ci-dessous sur le terminal.
sudo systemctl status php7.3-fpm ● php7.3-fpm.service - The PHP 7.3 FastCGI Process Manager Loaded: loaded (/lib/systemd/system/php7.3-fpm.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2019-12-03 10:01:54 UTC; 24min ago Docs: man:php-fpm7.3(8) Main PID: 9883 (php-fpm7.3) Status: "Processes active: 0, idle: 2, Requests: 3, slow: 0, Traffic: 0req/sec" Tasks: 3 (limit: 3587) Memory: 14.2M CGroup: /system.slice/php7.3-fpm.service ├─9883 php-fpm: master process (/etc/php/7.3/fpm/php-fpm.conf) ├─9884 php-fpm: pool www └─9885 php-fpm: pool www Dec 03 10:01:54 tecadmin-debian10 systemd[1]: Starting The PHP 7.3 FastCGI Process Manager... Dec 03 10:01:54 tecadmin-debian10 systemd[1]: Started The PHP 7.3 FastCGI Process Manager.
Configuration Nginx
Créons un hôte virtuel Nginx à exécuter avec FPM/FastCGI. Pour ce tutoriel, nous utilisons VirtualHost par défaut. Modifiez le fichier de configuration de l'hôte VirtualHost dans un éditeur de texte. Vous pouvez créer un nouveau VirtualHost selon vos besoins, alors assurez-vous d'activer tout nouveau VirtualHost.
sudo vim /etc/nginx/sites-available/example.com
Utilisez la configuration de base de l'hôte virtuel Nginx ci-dessous avec les paramètres PHP FPM. Mettez à jour la configuration comme suit.
Apache
123456789101112131415 | serveur { écouter 80 ; racine /var/www/html; index index.php index.html index.htm; nom_serveur exemple.com ; emplacement / { try_files $uri $uri/ =404; } emplacement ~ \.php$ { inclure des extraits/fastcgi-php.conf ; fastcgi_pass unix:/run/php/php7.3-fpm.sock ; }} |
Enregistrez vos modifications dans le fichier de configuration et créez un lien vers le répertoire activé par le site.
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/example.com
Redémarrez ensuite le service Nginx pour recharger les modifications.
sudo systemctl restart nginx.service
Configuration du test
Créer un script PHP avec phpinfo() fonction et placez-le à la racine du document de votre serveur. Utilisez la commande ci-dessous pour le faire.
echo "<?php phpinfo(); ?>" > /var/www/html/info.php
Accédez maintenant à info.php en utilisant l'adresse IP du serveur (pour VirtualHost par défaut) pour votre domaine configuré dans Nginx VirtualHost.
http://localhost/info.php
Conclusion
Terminé. Vous avez configuré avec succès le serveur Web Nginx avec PHP-FPM sur votre Linux Debian 10 (Buster). Votre serveur est prêt à héberger des sites Web.