Déploiement LNMP sur Linux

LinuxBeginner
Pratiquer maintenant

Introduction

LNMP combine quatre composants logiciels open source : Linux, Nginx, MySQL et PHP. Cette pile est souvent utilisée pour alimenter des applications web dynamiques et des sites web. Voici une brève présentation de chaque composant :

  • Linux : Un système d'exploitation qui fournit la base pour le reste de la pile.
  • Nginx : Un serveur web performant et un proxy inverse qui peut gérer un trafic important et servir efficacement le contenu statique.
  • MySQL : Un système de gestion de base de données relationnelle populaire qui fournit un moyen fiable de stocker et de récupérer des données pour les applications web.
  • PHP : Un langage de script largement utilisé pour le développement web, vous permettant d'écrire du code côté serveur qui génère du contenu HTML dynamique.

Ensemble, ces composants forment une plateforme puissante et flexible pour construire et déployer des applications web modernes. LNMP est similaire à LAMP (Linux, Apache, MySQL et PHP) mais utilise Nginx au lieu d'Apache comme serveur web. Nginx est connu pour sa vitesse et son efficacité, ce qui en fait un choix populaire pour les sites et les applications à forte circulation.

Installer Nginx

Bien sûr, voici les étapes spécifiques pour installer Nginx sur un système Linux :

  1. Mettre à jour la liste des packages : Exécutez la commande suivante pour mettre à jour la liste des packages sur le serveur :
sudo apt-get update
  1. Utilisez la commande suivante pour installer Nginx :
sudo apt-get install nginx
  1. Vérifiez si Nginx est installé avec succès
nginx -v

L'image suivante indique que Nginx a été installé avec succès et que la version actuellement installée est 1.18.0.

nginx version: nginx/1.18.0

Installer MySQL

Voici les étapes spécifiques pour installer MySQL sur un système Linux :

  1. Utilisez la commande suivante pour installer MySQL :
sudo apt update
sudo apt-get install mysql-server
  1. Vérifiez si le serveur MySQL est installé :
mysql --version

La figure suivante indique que MySQL est installé avec succès.

mysql  Ver 8.0.35-0ubuntu0.22.04.1 for Linux on x86_64 ((Ubuntu))
  1. Vérifiez si MySQL est démarré, et si ce n'est pas le cas, démarrez-le avec la commande suivante.
sudo systemctl status mysql
sudo systemctl start mysql

Installer PHP

Voici les étapes spécifiques pour installer PHP sur un système Linux :

  1. Installer PHP et les modules connexes : Utilisez la commande suivante pour installer PHP et ses modules connexes.
sudo apt update
sudo apt-get install php8.1-fpm php-mysql

Cela installera le Gestionnaire de processus FastCGI PHP (php-fpm) et l'extension MySQL pour PHP (php-mysql).

  1. Vérifier la version de PHP.
sudo php -v

La figure suivante indique que PHP est installé avec succès.

PHP 8.1.2-1ubuntu2.14 (cli) (built: Aug 18 2023 11:41:11) (NTS)

Configurer Nginx

Une fois Nginx installé, il doit être configuré pour fonctionner avec les autres composants. Suivez ces étapes pour ce faire :

  1. Éditez le fichier de configuration Nginx /etc/nginx/sites-available/default :
sudo vim /etc/nginx/sites-available/default
  1. Remplacez le contenu existant par le suivant :
server {
     listen 80 default_server;
     listen [::]:80 default_server;

     root /var/www/html;
     index index.php index.html index.htm index.nginx-debian.html;

     server_name _;

     location / {
            index index.php index.html index.htm;
        }

     location ~ \.php$ {
            fastcgi_pass unix:/run/php/php-fpm.sock;
            fastcgi_index index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include fastcgi_params;
        }
}
  1. Vérifiez si la configuration Nginx est correcte :
sudo nginx -t
  1. Rechargez nginx
sudo nginx -s reload

Configurer MySQL

  1. Exécutez la commande suivante pour accéder à MySQL.
sudo mysql
  1. Exécutez la commande suivante pour définir le mot de passe de l'utilisateur root
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by 'Mysql@1234'
  1. Exécutez la commande suivante pour quitter la base de données MySQL
exit

Configurer PHP

  1. Créez et éditez un nouveau fichier phpinfo.php pour afficher des informations sur PHP.
sudo vim /var/www/html/phpinfo.php

Écrivez le contenu suivant.

<?php echo phpinfo();?>

Astuce : /var/www/html est le répertoire racine du site, que vous pouvez voir en exécutant la commande cat /etc/nginx/sites-enabled/default.

  1. Démarrez PHP-FPM : Une fois l'installation terminée, démarrez le service PHP-FPM à l'aide de la commande suivante.
sudo systemctl start php8.1-fpm

Astuce : Notez que le nom exact du service PHP-FPM peut différer selon votre distribution Linux et votre version de PHP.

  1. Activez PHP-FPM pour qu'il démarre au démarrage : Pour vous assurer que PHP-FPM démarre automatiquement lorsque le serveur redémarre, exécutez la commande suivante.
sudo systemctl enable php8.1-fpm

Vérifier

Dans la barre d'adresse de votre navigateur, tapez http://127.0.0.1/phpinfo.php pour y accéder.

Le résultat de l'accès est montré ci-dessous, et la page d'informations de configuration de PHP est affichée avec succès, ce qui signifie que l'environnement LNMP est déployé avec succès.

Page d'informations PHP affichée

Alternativement, la commande curl peut être utilisée pour vérifier.

curl http://127.0.0.1/phpinfo.php -I

Résumé

Une fois que vous avez effectué ces étapes, vous devriez avoir déployé avec succès la pile LNMP. Vous pouvez placer le code de votre site web dans le répertoire /var/www/html et visiter votre site web pour vous assurer qu'il fonctionne correctement.