Comment installer Nginx, Mariadb, PHP (pile LEMP) sur Ubuntu 18.04 Bionic Beaver Linux

Comment installer Nginx, Mariadb, PHP (pile LEMP) sur Ubuntu 18.04 Bionic Beaver Linux

Objectif

Installez le serveur Web Nginx (LEMP) sur Ubuntu 18.04. En particulier, ce guide d'installation du serveur Web Linux vous montre comment installer nginx, comment installer MariADB et comment installer PHP.

Distribution

Ubuntu 18.04 castor bionique

Exigences

Une installation de travail d'Ubuntu 18.04 avec les privilèges racinaires

Difficulté

MOYEN

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

Introduction

Si vous souhaitez exécuter des sites Web basés sur PHP sur Linux, Apache n'est pas votre seule option. Nginx est un serveur Web plus rapide et plus léger qui est assez facile à configurer et à fonctionner. De plus, il est excellent à gérer d'autres tâches comme l'équilibrage de charge, l'optimisation du serveur et le jeu proxy inversé. En fait, Nginx est un choix supérieur parmi les startups pour héberger leurs applications Web.

Définition de Nginx pour héberger PHP sur Ubuntu 18.04 est très simple, et vous n'avez besoin que de quelques packages installés pour commencer.

Installation

Avant de pouvoir faire n'importe quoi, vous devez installer tout ce dont vous avez besoin en premier. Il n'y a que quelques packages dont vous avez besoin. De plus, Ubuntu 18.04 a des versions assez actuelles de tout droit dans ses référentiels par défaut, vous n'avez donc pas à vous soucier de suivre les référentiels externes.

$ sudo apt installer mariaDb-server nginx php-fpm php-mysql

Pendant l'installation, il vous sera demandé de configurer un compte d'administration pour MariaDB / MySQL. Choisissez une phrase secrète sécurisée et mémorable.

Vous devriez prendre une minute pour commencer et activer PHP-FPM maintenant aussi.

Remarque: Mettez à jour les commandes ci-dessous avec votre version PHP installée! Pour vérifier que votre version PHP exécute PHP - Version commande.
$ sudo systemctl start php7.1-fpm $ sudo systemctl activer php7.1 fpm


Configurez votre base de données

Maintenant, vous pouvez vous connecter à votre base de données nouvellement créée.

$ mysql -u root -p

Entrez le mot de passe que vous avez configuré pendant l'installation.

Vous serez déposé dans la console MySQL. Vous pouvez faire tout ce dont vous avez besoin à partir de là. Avant quoi que ce soit, faites votre base de données réelle.

MySQL> Créer une base de données 'bionic_lemp';

Ensuite, utilisez régulièrement pour exécuter la base de données.

mysql> Créer un utilisateur 'site_admin' @ 'localhost' identifié par 'your_password';

Enfin, accordez à votre nouvel utilisateur les privilèges pour utiliser réellement la base de données.

mysql> accorder tout sur bionic_lemp.* À 'site_admin' @ 'localhost';

Lorsque vous avez terminé, rincez les privilèges et sortez de la console.

MySQL> Privilèges de rinçage; mysql> exit;

Configurer nginx

Toutes les configurations Nginx se trouvent dans / etc / nginx. Ils sont décomposés pour simplifier le processus de configuration. Les deux dont vous devez vous soucier sont le principal nginx.confli Fichier et celui spécifique au site que vous créez pour votre site Web. Celui-là, vous metterez dans le les sites disponibles annuaire.

Créez un nouveau fichier pour votre site dans / etc / nginx / sites disponible. Le chemin complet devrait être quelque chose comme / etc / nginx / sites-disponible / votre site.

Démarrez le fichier en créant un serveur bloc. Nginx utilise serveur blocs pour désigner une nouvelle instance d'application Web pour qu'il écoute.

serveur 

Les premières choses que vous devriez mettre dans votre serveur les blocs sont le écouter lignes. Ils disent à Nginx quel port écouter.

Écoutez 80 par défaut; écouter [::]: 80 par défaut;

Ceux-ci couvriront les connexions IPv4 et IPv6. Retirer le défaut Spécifie qu'il s'agit du serveur par défaut. Vous ne pouvez avoir que un par défaut, alors assurez-vous de sélectionner le bon, si vous hébergez plusieurs sites.

Ensuite, dites à Nginx quel nom de domaine associer au site. Si vous faites simplement cela localement, utilisez hôte local. Sinon, utilisez votre nom de domaine.

server_name votre site.com;

Si vous souhaitez que Nginx redirige automatiquement les demandes avec le www au même bloc de serveur. Ajoutez le bloc suivant avant le début de votre bloc de serveur actuel.

Server écouter 80; server_name www.votre site.com; retour 301 http: // votre site.com $ request_uri; 


Ensuite, spécifiez le répertoire racine de votre site et le fichier d'index du site sera nommé. Ces lignes disent à Nginx de rechercher le site dans / var / www / votre site et commencez par n'importe quel fichier appelé indice.php ou indice.html.

root / var / www / votre site /; Index index.index PHP.html;

C'est aussi une bonne idée de configurer des journaux d'erreur individuels pour chacun de vos sites. Spécifiez-les ici aussi.

Access_log / var / log / nginx / votre site.Access_log; error_log / var / log / nginx / votre site.error_log;

Créer un emplacement Bloquer pour dire à Nginx pour augmenter une erreur 404 chaque fois que les fichiers ne sont pas trouvés. emplacement Les blocs vont à l'intérieur des blocs du serveur et expliquent à Nginx comment gérer les types de fichiers spécifiques à certains endroits.

Emplacement / try_files $ uri $ uri / = 404; 

La dernière chose que vous devez faire est de dire à Nginx comment gérer vos fichiers PHP. Créer un autre emplacement bloc pour ça.

Remarque: Mettez à jour la configuration ci-dessous avec votre version PHP installée! Pour vérifier que votre version PHP exécute PHP - Version commande.
Emplacement ~ \.php $ inclure des extraits / fastcgi-php.conf; fastcgi_pass Unix: / var / run / php / php7.1 fpm.chaussette; 

C'est tout ce dont tu as besoin. Enregistrer et quitter le fichier. C'est aussi probablement une bonne idée de créer ce répertoire de site maintenant.

$ sudo / var / www / votre site

En donner aussi la propriété de Nginx.

$ sudo chown -r www-data: www-data / var / www / votre site

Maintenant, supprimez le lien symbolique pour la configuration par défaut dans / etc / nginx / sites compatible.

$ sudo rm / etc / nginx / sites compatible / par défaut

Ensuite, créez un nouveau lien symbolique pour la configuration de votre site.

$ sudo ln -s / etc / nginx / sites-disponible / votre site / etc / nginx / sites-compatible /

Redémarrez Nginx pour que les modifications prennent effet.

$ sudo systemctl redémarrer nginx


Testez-le

La meilleure façon de tester que tout fonctionne est de mettre un simple script PHP dans votre répertoire de site et de le faire se connecter à votre base de données. Créer le fichier suivant à / var / www / votre site / index.php.

Page chargée de php!';; $ conn = mysqli_connect ('localhost', 'site_admin', 'your_password'); si(!$ Conn) Die ('

Erreur:

' . mysqli_connect_error ()); else echo '

Connecté avec succès à la base de données MySQL!

';; ?>

Accédez à votre site à l'aide de votre navigateur Web. Si vous voyez le message de réussite disant que vous êtes connecté avec succès à MySQL, votre serveur est correctement configuré.

Réflexions de clôture

La configuration de Nginx prend du temps, mais cela en vaut la peine. Ce n'est pas seulement plus rapide que les autres serveurs Web, il vous offre beaucoup d'options et un contrôle à grain fin. Il est également facile de configurer Nginx pour héberger des applications Web écrites dans d'autres langages comme Python et Ruby à droite sur vos PHP. Nginx est facilement l'un des meilleurs choix pour les applications Web modernes.

Tutoriels Linux connexes:

  • Choses à installer sur Ubuntu 20.04
  • Choses à faire après l'installation d'Ubuntu 20.04 Focal Fossa Linux
  • Choses à installer sur Ubuntu 22.04
  • Comment installer la pile LEMP sur Almalinux
  • Choses à faire après l'installation d'Ubuntu 22.04 Jammy Jellyfish…
  • Ubuntu 20.04 Guide
  • Ubuntu 20.04 WordPress avec installation Apache
  • Ubuntu 20.04: WordPress avec l'installation de Nginx
  • Installez Arch Linux dans VMware Workstation
  • Comment créer une pile de lampe basée sur Docker à l'aide de Docker sur…