Comment installer Nginx, Mariadb, PHP (pile LEMP) sur Ubuntu 18.04 Bionic Beaver Linux
- 2603
- 828
- Clara Nguyen
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écutePHP - 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.
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…
- « Comment installer Joomla sur Ubuntu 18.04 Bionic Beaver Linux
- Écrivain technique de lantaire @ Linuxconfig.org »