GNU/Linux >> Tutoriels Linux >  >> Linux

Comment ajouter la prise en charge de PHP-FPM sur Apache et Nginx Web Server sur Ubuntu 18.04

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.


Linux
  1. Comment installer le serveur Web Nginx sur Ubuntu 18.04

  2. Comment supprimer le serveur Web Apache d'Ubuntu

  3. Comment réparer la vulnérabilité DROWN dans le serveur Web Apache/NGINX et SMTP ?

  4. Comment installer le serveur Web Apache sur Ubuntu

  5. Comment installer et configurer le serveur Web Apache sur Ubuntu 13.10

Comment installer Nginx sur Ubuntu 14.04

Comment installer Nginx, MySQL et PHP (LEMP) sur un serveur Ubuntu 15.04

Comment ajouter une adresse IP privée à un serveur Ubuntu

Comment installer NGINX sur Ubuntu 20.04

Comment installer et configurer un serveur Web LAMP sur Ubuntu 18.04

Comment installer NGINX en tant que proxy inverse pour Apache sur Ubuntu 18.04