Comment configurer le serveur LEMP sur Debian 9 Stretch Linux

Comment configurer le serveur LEMP sur Debian 9 Stretch Linux

Introduction

Le texte suivant décrira une procédure de configuration du serveur LEMP sur Debian 9 Stretch Linux. La pile LEMP décrite par le guide ci-dessous comprendra:

  • Debian 9 Stretch Linux
  • Serveur Web Nginx
  • MariaDB ou MySQL Relational Database
  • Langue de script PHP 7

Veuillez noter que notre objectif principal est de configurer la pile de lempe à os nues sur Debian 9 Stretch Linux. D'après cette raison, aucune recommandation de durcissement de sécurité ou de réglage des performances n'est incluse dans l'article.

Une fois que vous avez vos os nus, la pile LEMP configurée, envisagez un durcissement supplémentaire de votre serveur en fonction de l'environnement de déploiement cible.

Conventions

  • # - Exige que les commandes Linux soient exécutées avec des privilèges racine soit directement en tant qu'utilisateur racine, soit par l'utilisation de Sudo commande
  • $ - Exige que les commandes Linux soient exécutées en tant qu'utilisateur non privilégié régulier

Instruction préalable

Cette section illustre une installation courante de tous les composants de pile LEMP. À ce stade, nous ne sommes pas préoccupés par une configuration spécifique de chaque composant LEMP. Nous effectuons plutôt uniquement une installation de tous les composants en utilisant une seule commande apt-get.

Sélectionnez la saveur de pile LEMP souhaitée entre MariaDB et MySQL.



Pile de lemp à saveur aromatisée de Mariadb

# apt-get install nginx mariadb-server php-fpm php-mysql 

Pile de lemp à saveur de mysql

# apt-get install nginx mysql-server php-fpm php-mysql 

Dans le cas où aucune erreur n'a été produite par la commande ci-dessus, nous devrions maintenant avoir tous les composants de pile LEMP installés.

Démarrer FastCGI Process Manager

php7.0-FPM vient préconfiguré. Tout ce que nous devons faire est de le démarrer, c'est d'allumer l'interrupteur:

# Service PHP7.0-fpm start # Service PHP7.Statut 0-fpm [ok] php-fpm7.0 est en cours d'exécution. 

Commencer php7.0-FPM Après le redémarrage, vous devez l'activer avec systemctl commande:

# SystemCTL Activer PHP7.0-FPM 

Éventuellement, vous pouvez tester l'état et php7.0-FPM.chaussette Emplacement de la douille en utilisant CGI-FCGI. Le CGI-FCGI fait partie de libfcgi0ldbl Package qui peut ne pas être disponible sur votre système. À installer libfcgi0ldbl Exécution du package:

# apt-get install libfcgi0ldbl 

Tenter de se connecter php7.0-FPM.chaussette prise. Veuillez noter que le nom de la prise peut différer en fonction de la version PHP installée sur votre système.

# cgi-fcgi -bind -connect / run / php / php7.0-FPM.Type de contenu de chaussette: texte / html; Charset = UTF-8 

L'erreur suivante apparaît si le CGI-FCGI La commande ne se connecte pas à php7.0-FPM.chaussette prise:

# cgi-fcgi -bind -connect / run / php / php7.0-FPM.la chaussette ne peut pas se connecter à / run / php / php7.0-FPM.chaussette 


Configurer et démarrer le serveur Nginx

Pour que le serveur Web Nginx se connecte avec FastCGI Process Manager, nous devons lui fournir un chemin complet vers FastCGI Process Manager exécutant Socket. Dans la section précédente, nous avons déterminé le chemin complet du Socket du gestionnaire de processus FastCGI par la commande Utiliser CGI-FCGI -BIND.

Remplacez le fichier de configuration du site par défaut de Nginx existant / etc / nginx / sites-disponible / par défaut avec la configuration suivante:

server écouter 80 default_server; écouter [::]: 80 default_server; root / var / www / html; Index index.index PHP.index html.index HTM.nginx-debian.html; nom du serveur _; Emplacement / try_files $ uri $ uri / = 404;  Emplacement ~ \.php $ inclure des extraits / fastcgi-php.conf; fastcgi_pass Unix: / var / run / php / php7.0-FPM.chaussette;  

Ensuite, créez une page PHP de base pour afficher des informations sur PHP installé:

# echo ""> / var / www / html / index.php 

Enfin, Démarrez Nginx Server:

# service nginx start [ok] Démarrage nginx: nginx. 

Le cas échéant, pour que le serveur Nginx commence après le redémarrage, vous devez l'activer avec systemctl commande:

# SystemCTL Activer Nginx 

Démarrer et activer le serveur de base de données

Enfin, nous devons démarrer le service de base de données. Selon votre sélection d'installation précédente, vous pouvez utiliser la commande ci-dessous pour démarrer les bases de données MariADB et MySQL:

# Service MySQL Démarrer [OK] Démarrage du serveur de base de données MARIADB: MySQLD. 

Pour que la base de données commence après le redémarrage de l'exécution:

# SystemCTL Activer MySQL 



annexe

Script de connexion de la base de données PHP 7

Le code de connexion de la base de données PHP suivante peut être utilisé pour se connecter à votre base de données relationnelle:

 

Enregistrez le code ci-dessus dans un nouveau / var / www / html / db.php déposer. Ensuite, créez un utilisateur de base de données:

# mysql -u root -e "Créer l'utilisateur 'admin' @ '%' identifié par 'pass';" # mysql -u root -e "Accorder tous les privilèges sur *.* À 'admin' @ '%' avec l'option de subvention; " 

Enfin, exécutez db.php scénario:

# php / var / www / html / db.php ou # curl -i http: // localhost / db.PHP connecté avec succès à la base de données MySQL 

Tutoriels Linux connexes:

  • Ubuntu 20.04: WordPress avec l'installation de Nginx
  • Comment installer la pile LEMP sur Almalinux
  • Choses à installer sur Ubuntu 20.04
  • Installez MySQL sur Ubuntu 20.04 LTS Linux
  • Installation de WordPress OpenLitesPeed
  • Comment installer MySQL sur Almalinux
  • Comment créer une pile de lampe basée sur Docker à l'aide de Docker sur…
  • Comment vérifier le statut Nginx sur Ubuntu
  • Comment changer le mot de passe de l'utilisateur de MariaDB
  • Ubuntu 20.04 WordPress avec installation Apache