Nginx est un serveur Web open source hautes performancesr . Il est connu pour sa stabilité, sa configuration très simple, son riche ensemble de fonctionnalités et sa faible consommation de ressources.
Nginx vous permet de l'utiliser comme proxy inverse, équilibreur de charge, cache HTTP et proxy de messagerie.
Cet article vous montre comment installer Nginx sur CentOS 8 / RHEL 8 avec le support PHP (via PHP-FPM) et le support MariaDB.
PHP-FPM est une implémentation alternative de PHP FastCGI. Il possède des fonctionnalités supplémentaires qui sont utiles pour les sites de toute taille, en particulier les sites les plus fréquentés.
Installer Linux
Suivez les liens pour installer un système d'exploitation Linux
LIRE : Comment installer CentOS 8 (avec capture d'écran)
LIRE : Comment installer Red Hat Enterprise Linux 8 (avec capture d'écran) ou mettre à niveau de RHEL 7 vers RHEL 8.
À présent, vous devriez avoir un système Linux prêt avec vous. Maintenant, nous allons installer Nginx, MariaDB et PHP-FPM par-dessus.
Les étapes mentionnées dans cet article ne fonctionneront que si vous avez activé l'abonnement Red Hat sur RHEL 8 ou configuré le référentiel yum local sur votre système.Connectez-vous au système en tant qu'utilisateur root ou passez à l'utilisateur root.
$ su -
Installer Nginx
Installer Nginx à l'aide du référentiel de base
Dans RHEL 8, Nginx est disponible dans le référentiel rhel-8-for-x86_64-appstream-rpms. Nous n'avons donc pas besoin de configurer le référentiel Nginx manuellement.
Installez Nginx à l'aide de la commande YUM.
yum -y install nginx
Installez Nginx à l'aide du référentiel officiel de Nginx
Ajoutez le référentiel Nginx à votre système.
### CentOS 8 ### cat << EOF > /etc/yum.repos.d/nginx.repo [nginx-mainline] name=nginx mainline repo baseurl=http://nginx.org/packages/mainline/centos/8/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://nginx.org/keys/nginx_signing.key EOF ### RHEL 8 ### cat << EOF > /etc/yum.repos.d/nginx.repo [nginx-mainline] name=nginx mainline repo baseurl=http://nginx.org/packages/mainline/rhel/8/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://nginx.org/keys/nginx_signing.key EOF
Installez Nginx à partir du référentiel officiel de Nginx en désactivant temporairement le référentiel AppStream.
yum install -y nginx --disablerepo=* --enablerepo=nginx-mainline
Démarrez le service de serveur Web Nginx après l'installation.
systemctl start nginx
Vérifiez l'état du service de serveur Web Nginx à l'aide de la commande ci-dessous.
systemctl status nginx
Pare-feu
Autorisez les requêtes Web à traverser le pare-feu en exécutant les commandes ci-dessous.
firewall-cmd --permanent --add-service=http firewall-cmd --reload
SELinux
Si vous obtenez une erreur pour SELinux sur les journaux Nginx, voici le tutoriel sur la définition de la politique SELinux pour Nginx.
Sinon, vous pouvez temporairement désactiver SELinux à l'aide de la commande suivante. Mais, nous vous suggérons de désactiver définitivement SELinux.
setenforce 0 sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
Vérifier l'installation de Nginx
Ouvrez votre navigateur Web et visitez l'URL ci-dessous.
http://votre-adresse-ipNginx installé à partir du référentiel Red Hat :
Vous devriez voir la page suivante Bienvenue dans nginx sur Red Hat Enterprise Linux . Cette page vous confirme que le serveur Web Ngnix est installé avec succès sur le serveur.
Nginx installé à l'aide du référentiel officiel de Nginx :
La racine de document par défaut de Nginx sur CentOS 8 / RHEL 8 est /usr/share/nginx/html/. D'autres fichiers de configuration se trouvent dans le répertoire /etc/nginx.Activez le service Nginx au démarrage du système.
systemctl enable nginx
Installer MariaDB
CentOS 8 / RHEL 8 est livré avec MariaDB 10.3. Installez le serveur MariaDB à l'aide de la commande yum.
Vous pouvez également installer les packages MariaDB à partir de la communauté MariaDB.
LIRE :Comment installer MariaDB sur CentOS 8 / RHEL 8
yum -y install mariadb mariadb-server
Démarrez le serveur MariaDB à l'aide de la commande suivante.
systemctl start mariadb
Activez le service MariaDB pour qu'il démarre automatiquement lors du démarrage du système.
systemctl enable mariadb
Une fois l'installation du serveur MariaDB terminée, exécutez la commande mysql_secure_installation pour sécuriser MariaDB.
Installer PHP
CentOS 8 / RHEL 8 est livré avec PHP 7.2. Installez le PHP via PHP-FPM (FastCGI Process Manager en utilisant la commande YUM.
Si vous le souhaitez, vous pouvez installer PHP 7.3 à l'aide du référentiel Remi.
LIRE : Comment installer PHP 7.3 sur CentOS 8 / RHEL 8
yum -y install php-fpm php-mysqlnd php-cli
Modifiez /etc/php.ini.
vi /etc/php.ini
définissez cgi.fix_pathinfo sur 0.
cgi.fix_pathinfo=0
Modifiez le fichier /etc/php-fpm.d/www.conf.
vi /etc/php-fpm.d/www.conf
Assurez-vous que les valeurs suivantes ne sont pas commentées.
[.More.] pm.min_spare_servers = 5 [.More.] pm.max_spare_servers = 35 [.More.]
Modifiez le paramètre d'écoute.
DE
listen = /run/php-fpm/www.sock
À
listen = 127.0.0.1:9000
Ensuite, démarrez le service PHP-FPM.
systemctl start php-fpm
Activez le service PHP-FPM pour qu'il démarre automatiquement au démarrage du système.
systemctl enable php-fpm
Activer la prise en charge de PHP-FPM sur l'hôte virtuel
Nous allons maintenant créer un hôte virtuel sur le serveur Nginx pour les détails suivants afin de tester le PHP.
Nom du serveur : web.itzgeek.local
Racine du document : /usr/share/nginx/html/web.itzgeek.local
Créez un fichier de configuration appelé web.itzgeek.local.conf sous /etc/nginx/conf.d et modifiez-le.
vi /etc/nginx/conf.d/web.itzgeek.local.conf
Ajoutez le contenu suivant.
server { server_name web.itzgeek.local; root /usr/share/nginx/html/web.itzgeek.local; location / { index index.html index.htm index.php; } location ~ \.php$ { include /etc/nginx/fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } }
Créez un répertoire racine de document.
mkdir /usr/share/nginx/html/web.itzgeek.local
Pour tester le PHP, nous allons placer un fichier PHP à la racine du document de l'hôte virtuel créé.
echo "<?php phpinfo(); ?>" > /usr/share/nginx/html/web.itzgeek.local/index.php
Redémarrez les services.
systemctl restart nginx systemctl restart php-fpm
Tester la pile LEMP
Créez une entrée d'hôte pour votre domaine de serveur Web (server.itzgeek.local) dans les fichiers /etc/hosts (Linux) et hosts (Windows).
192.168.1.10 web.itzgeek.local
Ouvrez un navigateur Web et saisissez votre domaine dans la barre d'adresse.
http://web.itzgeek.localLa page ressemblera à ci-dessous.
D'après la capture d'écran ci-dessus, PHP fonctionne comme prévu et via FPM/FastCGI, comme indiqué dans la ligne API du serveur.
Vous pouvez faire défiler la page plus bas pour voir les détails du support MariaDB.
Sujets intéressants
Comment configurer Let's Encrypt SSL avec Nginx sur CentOS 8 / RHEL 8
Comment installer WordPress avec Nginx sur CentOS 8 / RHEL 8
Comment installer phpMyAdmin avec Nginx sur CentOS 8 / RHEL 8
Conclusion
Vous avez appris à installer la pile LEMP sur CentOS 8 / RHEL 8. Veuillez partager vos commentaires dans la section des commentaires.