Nginx est le serveur Web qui connaît la croissance la plus rapide aujourd’hui sur les serveurs publics accessibles sur Internet en raison de son modèle modulaire open source gratuit, de ses hautes performances, de sa stabilité, de ses fichiers de configuration simples, de son architecture asynchrone (pilotée par les événements) et des faibles ressources nécessaires à son exécution.
Ce tutoriel vous guidera dans l’installation de la dernière version stable de Nginx sur les distributions basées sur RHEL à partir de sources, car les référentiels système officiels ne fournissent pas de package binaire.
Si vous voulez éviter l’installation des sources, vous pouvez ajouter un fichier officiel Nginx référentiel et installez le paquet binaire à l’aide du gestionnaire de paquets yum ou dnf comme indiqué :
Méthode 1 : Installer NGINX à l’aide du référentiel Yum
Avant d’installer nginxvous devez activer le référentiel de packages nginx sur RHEL et ses dérivés tels que CentOS, Rocky Linux, AlmaLinux et Oracle Linux. Ensuite, vous pouvez installer et mettre à jour nginx à partir du référentiel.
Tout d’abord, installez le yum-utils paquet comme indiqué.
# yum install yum-utils
Pour activer le nginx dépôt officiel yum, créez le fichier nommé /etc/yum.repos.d/nginx.repo avec le contenu suivant :
[nginx-stable] name=nginx stable repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=1 enabled=1 gpgkey=https://nginx.org/keys/nginx_signing.key module_hotfixes=true
![Comment Compiler Et Installer Nginx À Partir De Sources Sous Linux 1 Ajouter Le Référentiel Nginx Yum](https://www.tecmint.com/wp-content/uploads/2014/07/Add-Nginx-Yum-Repository.png)
![Comment Compiler Et Installer Nginx À Partir De Sources Sous Linux 2 Ajouter Le Référentiel Nginx Yum](https://www.tecmint.com/wp-content/uploads/2014/07/Add-Nginx-Yum-Repository.png)
Ensuite, vous pouvez installer et mettre à jour nginx du référentiel.
# yum install nginx
![Comment Compiler Et Installer Nginx À Partir De Sources Sous Linux 3 Installer Nginx Sous Linux](https://www.tecmint.com/wp-content/uploads/2014/07/Install-Nginx-in-Linux.png)
![Comment Compiler Et Installer Nginx À Partir De Sources Sous Linux 4 Installer Nginx Sous Linux](https://www.tecmint.com/wp-content/uploads/2014/07/Install-Nginx-in-Linux.png)
Important: Veuillez noter que suivre les dépôts officiels nginx yum ci-dessus vous donnera une version plus ancienne de nginx, si vous voulez vraiment construire la version la plus récente de Nginx, alors je vous suggère de suivre l’installation source comme indiqué ci-dessous.
L’utilisation de la compilation et de l’installation des sources présente certains avantages car vous pouvez installer la dernière version disponible, vous pouvez modifier la configuration de Nginx en ajoutant ou en supprimant des modules, et modifier le chemin du système d’installation ou d’autres paramètres importants, en d’autres termes, vous avez un contrôle total sur le processus d’installation.
Méthode 2 : Compilation et installation de NGINX à partir de la source
Avant de commencer le processus de compilation et d’installation de Nginx, assurez-vous que vous disposez d’un Compilateur C/C++, PCRE (Expressions régulières compatibles avec Perl), Bibliothèque de compression Zlib, et OpenSSL (si vous avez l’intention d’exécuter Nxing avec le support SSL) installés sur votre machine en exécutant la commande suivante.
# yum -y install gcc gcc-c++ make zlib-devel pcre-devel openssl-devel
![Comment Compiler Et Installer Nginx À Partir De Sources Sous Linux 5 Installer Le Compilateur Gcc Et C++](https://www.tecmint.com/wp-content/uploads/2014/07/Install-GCC-and-C-Compiler.png)
![Comment Compiler Et Installer Nginx À Partir De Sources Sous Linux 6 Installer Le Compilateur Gcc Et C++](https://www.tecmint.com/wp-content/uploads/2014/07/Install-GCC-and-C-Compiler.png)
Télécharger la source Nginx
Maintenant, allez au Page de téléchargement Nginx et récupérez la dernière version stable de l’archive source Nginx à l’aide de la commande wget suivante, puis extrayez l’archive nginx et déplacez-vous dans Nginx répertoire extrait comme indiqué.
# wget http://nginx.org/download/nginx-1.23.4.tar.gz # tar xfz nginx-1.23.4.tar.gz # cd nginx-1.23.4 # ls -all
![Comment Compiler Et Installer Nginx À Partir De Sources Sous Linux 7 Télécharger Le Paquet Source Nginx](https://www.tecmint.com/wp-content/uploads/2014/07/Download-Nginx-Source-Package.png)
![Comment Compiler Et Installer Nginx À Partir De Sources Sous Linux 8 Télécharger Le Paquet Source Nginx](https://www.tecmint.com/wp-content/uploads/2014/07/Download-Nginx-Source-Package.png)
Compiler Nginx à partir de la source
L’étape suivante consiste à personnaliser le Nginx processus d’installation à l’aide de configure
fichier pour visualiser les options de configuration et les modules nécessaires au processus de compilation Nginx à l’aide de la commande suivante.
# ./configure --help
![Comment Compiler Et Installer Nginx À Partir De Sources Sous Linux 9 Options De Configuration De La Compilation Nginx](https://www.tecmint.com/wp-content/uploads/2014/07/Nginx-Compilation-Configuration-Options.png)
![Comment Compiler Et Installer Nginx À Partir De Sources Sous Linux 10 Options De Configuration De La Compilation Nginx](https://www.tecmint.com/wp-content/uploads/2014/07/Nginx-Compilation-Configuration-Options.png)
Il est maintenant temps de compiler Nginx avec vos configurations spécifiques et les modules activés ou désactivés. Pour ce didacticiel, les modules et spécifications suivants ont été utilisés, mais vous pouvez modifier la compilation en fonction de vos besoins.
--user=nginx
– définissez l’utilisateur système sous lequel Nginx s’exécutera.--group=nginx
– définissez le groupe système sous lequel Nginx s’exécutera.--prefix=/etc/nginx
– répertoire pour les fichiers du serveur (fichier nginx.conf et autres fichiers de configuration) – la valeur par défaut est le répertoire /usr/local/nginx.--sbin-path=/usr/sbin/nginx
– Emplacement du fichier exécutable Nginx.--conf-path=/etc/nginx/nginx.conf
– définit le nom du fichier de configuration nginx.conf – vous pouvez le modifier.--error-log-path=/var/log/nginx/error.log
– définit l’emplacement du fichier journal des erreurs Nginx.--http-log-path=/var/log/nginx/access.log
– définit l’emplacement du fichier journal d’accès Nginx.--pid-path=/var/run/nginx.pid
– définit le nom du fichier d’ID de processus principal.--lock-path=/var/run/nginx.lock
– définit le nom du fichier de verrouillage Nginx.--with-http_ssl_module
– permet de construire le module HTTPS – non construit par défaut et nécessite une bibliothèque OpenSSL.--with-pcre
– définit le chemin vers les sources de la bibliothèque PCRE – non construit par défaut et nécessite une bibliothèque PCRE.
Pour afficher une liste de tous les modules Nginx, visitez la page Web de la documentation Nginx à l’adresse http://wiki.nginx.org/Modules.
Si vous n’avez pas besoin d’un module spécifique installé sur Nginx vous pouvez le désactiver en utilisant la commande suivante.
--without-module_name
Commencez maintenant à compiler Nginx en exécutant la commande suivante, qui utilisera toutes les configurations et tous les modules décrits ci-dessus (assurez-vous que la commande reste sur une seule ligne).
# ./configure --user=nginx --group=nginx --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --with-http_ssl_module --with-pcre
![Comment Compiler Et Installer Nginx À Partir De Sources Sous Linux 11 Compiler Nginx À Partir De La Source](https://www.tecmint.com/wp-content/uploads/2014/07/Compile-Nginx-from-Source.png)
![Comment Compiler Et Installer Nginx À Partir De Sources Sous Linux 12 Compiler Nginx À Partir De La Source](https://www.tecmint.com/wp-content/uploads/2014/07/Compile-Nginx-from-Source.png)
Une fois que le processus de compilation a vérifié tous les utilitaires requis par le système, tels que le compilateur GNU C, PCRE et les bibliothèques OpenSSL, il crée le make.conf
fichier et génère un résumé de toutes les configurations.
Résumé de la compilation Nginx
Configuration summary + using system PCRE2 library + using system OpenSSL library + using system zlib library nginx path prefix: "/etc/nginx" nginx binary file: "/usr/sbin/nginx" nginx modules path: "/etc/nginx/modules" nginx configuration prefix: "/etc/nginx" nginx configuration file: "/etc/nginx/nginx.conf" nginx pid file: "/var/run/nginx.pid" nginx error log file: "/var/log/nginx/error.log" nginx http access log file: "/var/log/nginx/access.log" nginx http client request body temporary files: "client_body_temp" nginx http proxy temporary files: "proxy_temp" nginx http fastcgi temporary files: "fastcgi_temp" nginx http uwsgi temporary files: "uwsgi_temp" nginx http scgi temporary files: "scgi_temp"
Construire Nginx à partir de la source
La dernière étape consiste à construire les binaires en utilisant make
commande, qui peut prendre un certain temps en fonction des ressources de votre machine, et installez Nginx sur votre système avec make install
commande.
Faites attention que le make install
La commande nécessite des privilèges root pour effectuer l’installation, donc si vous n’êtes pas connecté avec un compte root, utilisez un utilisateur privilégié avec sudo.
# make # make install
Une fois le processus d’installation terminé avec succès, ajoutez le nginx utilisateur système (avec /etc/nginx/ comme son répertoire personnel et sans shell valide), l’utilisateur sous lequel Nginx s’exécutera en exécutant la commande useradd suivante.
# useradd -d /etc/nginx/ -s /sbin/nologin nginx
![Comment Compiler Et Installer Nginx À Partir De Sources Sous Linux 13 Ajouter Un Utilisateur Nginx](https://www.tecmint.com/wp-content/uploads/2014/07/Add-Nginx-User-1.png)
![Comment Compiler Et Installer Nginx À Partir De Sources Sous Linux 14 Ajouter Un Utilisateur Nginx](https://www.tecmint.com/wp-content/uploads/2014/07/Add-Nginx-User-1.png)
Configurer le fichier Nginx
Lors de la compilation, nous avions précisé que Nginx courra du nginx utilisateur système, ouvrir nginx.conf fichier et remplacez la déclaration d’utilisateur par nginx.
# nano /etc/nginx/nginx.conf OR # vi /etc/nginx/nginx.conf
Localisez et modifiez ici l’utilisateur et, également, les déclarations d’emplacement racine du document, avec les options suivantes.
user nginx; location / { root /var/www/html; autoindex on; index index.html index.htm;
![Comment Compiler Et Installer Nginx À Partir De Sources Sous Linux 15 Configurer L'Utilisateur Nginx Et Documentroot](https://www.tecmint.com/wp-content/uploads/2014/07/Configure-Nginx.png)
![Comment Compiler Et Installer Nginx À Partir De Sources Sous Linux 16 Configurer L'Utilisateur Nginx Et Documentroot](https://www.tecmint.com/wp-content/uploads/2014/07/Configure-Nginx.png)
Avant de commencer Nginxassurez-vous que vous avez créé le chemin racine du document Web, puis démarrez nginx à l’aide de la commande suivante.
# mkdir -p /var/www/html # /usr/sbin/nginx
Si vous voulez vérifier si Nginx est en cours d’exécution à l’aide de votre invite de shell, exécutez la commande netstat pour vérifier la connexion TCP.
# netstat -tulpn | grep nginx
![Comment Compiler Et Installer Nginx À Partir De Sources Sous Linux 17 Démarrer Le Service Nginx](https://www.tecmint.com/wp-content/uploads/2014/07/Start-Nginx-Service.png)
![Comment Compiler Et Installer Nginx À Partir De Sources Sous Linux 18 Démarrer Le Service Nginx](https://www.tecmint.com/wp-content/uploads/2014/07/Start-Nginx-Service.png)
Ouvrez Nginx sur le pare-feu
Vérifier Nginx à partir d’un système distant, ajoutez une règle de pare-feu pour ouvrir une connexion vers l’extérieur sur le port 80 et 443.
# firewall-cmd --permanent --add-service=http # firewall-cmd --permanent --add-service=https # systemctl restart firewalld
Enfin, ouvrez un navigateur et dirigez l’URL vers l’adresse IP de votre serveur à :
http://server_IP
![Comment Compiler Et Installer Nginx À Partir De Sources Sous Linux 19 Vérifier La Page Nginx](https://www.tecmint.com/wp-content/uploads/2014/07/Check-Nginx-Page.png)
![Comment Compiler Et Installer Nginx À Partir De Sources Sous Linux 20 Vérifier La Page Nginx](https://www.tecmint.com/wp-content/uploads/2014/07/Check-Nginx-Page.png)
Gérer le service Nginx
Pour gérer le Nginx processus utilisez les commandes suivantes.
# /usr/sbin/nginx -V [show Nginx modules and configurations] # /usr/sbin/nginx -h [help options] # /usr/sbin/nginx -t [check configuration file] # /usr/sbin/nginx [start Nginx process] # /usr/sbin/nginx -s stop [stop Nginx process] # /usr/sbin/nginx -s reload [reload Nginx process]
![Comment Compiler Et Installer Nginx À Partir De Sources Sous Linux 21 Vérifier La Version Compilée De Nginx](https://www.tecmint.com/wp-content/uploads/2014/07/Check-Nginx-Compiled-Version.png)
![Comment Compiler Et Installer Nginx À Partir De Sources Sous Linux 22 Vérifier La Version Compilée De Nginx](https://www.tecmint.com/wp-content/uploads/2014/07/Check-Nginx-Compiled-Version.png)
Si vous avez besoin de gérer le Nginx processus démon via un systemd script, créez le fichier suivant sur /lib/systemd/system/nginx.serviceet, ensuite, vous pouvez utiliser systemctl commandes pour gérer le processus.
# vi /lib/systemd/system/nginx.service
Ajoutez le contenu du fichier suivant.
[Unit] Description=The NGINX HTTP and reverse proxy server After=syslog.target network-online.target remote-fs.target nss-lookup.target Wants=network-online.target [Service] Type=forking PIDFile=/run/nginx.pid ExecStartPre=/usr/sbin/nginx -t ExecStart=/usr/sbin/nginx ExecReload=/usr/sbin/nginx -s reload ExecStop=/bin/kill -s QUIT $MAINPID PrivateTmp=true [Install] WantedBy=multi-user.target
Une fois le fichier systemd Nginx créé, gérez le démon à l’aide des commandes ci-dessous.
# systemctl start nginx # systemctl stop nginx # systemctl status nginx
C’est tout! Vous avez maintenant la dernière version de Nginx installé sur vos distributions basées sur RHEL. Dans le prochain tutoriel, j’expliquerai comment installer et activer le gestionnaire de processus PHP-FPM via Nginx FastCGI Gateway.