Apache et Nginx sont gratuits, open source et populaires - les serveurs Web les plus utilisés dans le monde. Apache et Nginx fonctionnent tous les deux sur tous les systèmes d'exploitation basés sur Unix. Apache est connu pour sa puissance, tandis que Nginx est connu pour sa rapidité. Nginx est également utilisé comme proxy inverse pour HTTP, HTTPS, IMAP, SMTP, POP3 et comme équilibreur de charge.
PHP-FPM (FastCGI Process Manager) est une implémentation alternative de PHP FastCGI spécialement conçue pour les sites Web à forte charge. PHP-FPM vous permet d'exécuter plusieurs versions de PHP à la fois. PHP-FPM peut être exécuté d'une manière différente de mod_PHP sur un serveur Web. Si vous cherchez à héberger votre application Web avec des performances optimales, alors PHP-FPM est le meilleur choix pour vous.
Dans ce tutoriel, nous expliquerons comment activer la prise en charge de PHP-FPM sur les serveurs Web Apache et Nginx sur un serveur Ubuntu 18.04.
Prérequis
- Un nouveau VPS Ubuntu 18.04 sur la plate-forme cloud Atlantic.Net.
- Un nom de domaine valide pointant vers votre adresse IP VPS.
Étape 1 – Créer un serveur cloud Atlantic.Net
Tout d'abord, connectez-vous à votre serveur Atlantic.Net Cloud. Créez un nouveau serveur en choisissant Ubuntu 18.04 comme système d'exploitation avec au moins 2 Go de RAM. Connectez-vous à votre serveur cloud via SSH et connectez-vous à l'aide des informations d'identification mises en évidence en haut de la page.
Une fois que vous êtes connecté à votre serveur Ubuntu 18.04, exécutez la commande suivante pour mettre à jour votre système de base avec les derniers packages disponibles.
apt-get update -y
Étape 2 :Activer la prise en charge de PHP-FPM sur le serveur Web Apache
Dans cette section, nous apprendrons comment installer et activer la prise en charge de PHP-FPM sur le serveur Web Apache.
Installer Apache et PHP-FPM
Commencez par installer Apache et PHP-FPM en exécutant la commande suivante :
apt-get install apache2 libapache2-mod-php libapache2-mod-fcgid php php-fpm php-cli -y
Une fois tous les packages installés, démarrez Apache et le service PHP-FPM avec la commande suivante :
systemctl start apache2 systemctl start php7.2-fpm
Configurer Apache avec la prise en charge de PHP-FPM
Ensuite, vous devrez configurer le serveur Web Apache avec le support PHP-FPM. Pour ce faire, créez un nouveau fichier de configuration d'hôte virtuel Apache :
nano /etc/apache2/sites-available/example.com.conf
Ajoutez les lignes suivantes :
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /var/www/html/ DirectoryIndex info.php ServerName example.com <Directory /var/www/html/> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> <FilesMatch \.php$> # 2.4.10+ can proxy to unix socket SetHandler "proxy:unix:/run/php/php7.2-fpm.sock|fcgi://localhost" </FilesMatch> ErrorLog ${APACHE_LOG_DIR}/example.com_error.log CustomLog ${APACHE_LOG_DIR}/example.com_access.log combined </VirtualHost>
Enregistrez et fermez le fichier. Ensuite, activez le fichier de configuration de l'hôte virtuel avec la commande suivante :
a2ensite example.com
Ensuite, vous devrez activer quelques modules pour qu'apache2 fonctionne avec PHP-FPM :
a2enmod actions fcgid alias proxy_fcgi
Ensuite, redémarrez le service Apache à l'aide de la commande suivante :
systemctl restart apache2
Étape 3 – Tester le serveur Web Apache
Le serveur Web Apache est maintenant configuré avec le support PHP-FPM. Il est temps de tester si PHP-FPM est chargé avec le serveur Web Apache ou non.
Pour le tester, créez un exemple de fichier info.php dans le répertoire racine du document Apache :
nano /var/www/html/info.php
Ajoutez les lignes suivantes :
<?php phpinfo(); ?>
Enregistrez et fermez le fichier, puis changez la propriété du fichier info.php en www-data :
chown www-data:www-data /var/www/html/info.php
Ensuite, ouvrez votre navigateur Web et saisissez l'URL http://example.com . Vous devriez voir la page suivante :
La page ci-dessus indique que PHP-FPM est chargé avec le serveur Web Apache.
Remarque : N'oubliez pas de supprimer le fichier info.php après le test.
Étape 4 :Activer la prise en charge de PHP-FPM sur le serveur Web Nginx
Dans cette section, nous apprendrons comment installer et activer la prise en charge de PHP-FPM sur le serveur Web Nginx.
Étape 5 - Installer Nginx et PHP-FPM
Tout d'abord, installez Nginx et PHP-FPM en exécutant la commande suivante :
apt-get install nginx php php-fpm php-cli -y
Une fois tous les packages installés, démarrez le service Nginx et PHP-FPM avec la commande suivante :
systemctl start nginx systemctl start php7.2-fpm
Étape 6 – Configurer Nginx avec la prise en charge de PHP-FPM
Ensuite, vous devrez configurer le serveur Web Nginx avec le support PHP-FPM. Pour ce faire, créez un nouveau fichier de configuration d'hôte virtuel Nginx :
nano /etc/nginx/sites-available/example.com.conf
Ajoutez les lignes suivantes :
server { listen 80; root /var/www/html/; index info.php; server_name example.com; location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_intercept_errors off; fastcgi_buffer_size 16k; fastcgi_buffers 4 16k; fastcgi_connect_timeout 600; fastcgi_send_timeout 600; fastcgi_read_timeout 600; } location / { try_files $uri $uri/ =404; } } Save and close the file. Then, enable the Nginx virtual host with the following command:
ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/
Ensuite, redémarrez Nginx et le service PHP-FPM pour appliquer les modifications de configuration :
systemctl restart nginx systemctl restart php7.2-fpm
Étape 7 - Tester le serveur Web Nginx
Le serveur Web Nginx est maintenant configuré avec le support PHP-FPM. Il est temps de tester si PHP-FPM est chargé avec le serveur Web Nginx ou non.
Pour le tester, créez un exemple de fichier info.php dans le répertoire racine du document Nginx :
nano /var/www/html/info.php
Ajoutez les lignes suivantes :
<?php phpinfo(); ?>
Enregistrez et fermez le fichier, puis changez la propriété du fichier info.php en www-data :
chown www-data:www-data /var/www/html/info.php
Ensuite, ouvrez votre navigateur Web et saisissez l'URL http://example.com . Vous devriez voir la page suivante :
La page ci-dessus indique que PHP-FPM est chargé avec le serveur Web Nginx.
Remarque : N'oubliez pas de supprimer le fichier info.php après le test.
Conclusion
Toutes nos félicitations! Vous avez configuré avec succès le serveur Web Nginx et Apache avec le support PHP-FPM. J'espère que vous avez maintenant suffisamment de connaissances pour utiliser PHP-FPM pour exécuter plusieurs versions de PHP à la fois. Pour démarrer avec PHP-FPM sur Apache et Nginx, souscrivez dès aujourd'hui à un plan d'hébergement VPS avec Atlantic.Net.