Comment compiler et installer nginx à partir de sources de Linux
Jun 21, 2025 am 09:45 AMNginx est le serveur Web à la croissance la plus rapide aujourd'hui sur les serveurs publics orientés Internet en raison de son modèle modulaire open source gratuit, de haute performance, de stabilité, de fichiers de configurations simples, d'architecture asynchrone (axée sur l'événement) et de ressources faibles nécessaires pour s'exécuter.
Ce tutoriel vous guidera sur 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 de systèmes officiels ne fournissent pas de package binaire.
Si vous souhaitez éviter l'installation de sources, vous pouvez ajouter un référentiel Nginx officiel et installer le package binaire à l'aide du gestionnaire de package YUM ou DNF comme indiqué:
Table des matières
Méthode 1: Installez Nginx à l'aide du référentiel YUM
Avant d'installer Nginx , vous devez activer le référentiel Nginx Packages sur RHEL et ses dérivés tels que CentOS, Rocky Linux, Almalinux et Oracle Linux. Par la suite, vous pouvez installer et mettre à jour Nginx à partir du référentiel.
Tout d'abord, installez le package Yum-Utils comme indiqué.
# yum install yum-utils
Pour activer le référentiel YUM officiel Nginx , créez le fichier nommé /etc/yum.repos.d/nginx.repo avec le contenu suivant:
[nginx-stable] name = repo stable nginx BUSURL = http: //nginx.org/packages/centos/$releasever/$BASEARCH/ gpgcheck = 1 activé = 1 gpgkey = https: //nginx.org/keys/nginx_signing.key module_hotfixes = true
Ensuite, vous pouvez installer et mettre à jour Nginx à partir du référentiel.
# yum install nginx
IMPORTANT: Veuillez noter que, après les référentiels officiels de Nginx Yum, vous donnera une ancienne version de Nginx, si vous souhaitez vraiment créer 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 les 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 complet sur le processus d'installation.
Méthode 2: Compilation et installation de Nginx à partir de la source
Avant de démarrer le processus de compilation et d'installation de Nginx, assurez-vous que vous disposez d'un compilateur C / C , d'un PCRE ( Perl Compatible Expressions régulières ), d'une bibliothèque de compression ZLIB et d'OpenSSL (si vous avez l'intention d'exécuter NXing avec la prise en charge SSL) installé sur votre machine en émettant la commande suivante.
# yum -y installer gcc gcc-c Faire des ouvertures de devet zlib devel zlib
Télécharger Nginx Source
Maintenant, accédez à la page de téléchargement de Nginx et prenez la dernière version stable du tarball source Nginx à l'aide de la commande wget suivante, puis extraire l'archive Nginx et déplacez-vous dans le répertoire extrait Nginx 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-tout
Compiler nginx à partir de la source
L'étape suivante consiste à personnaliser le processus d'installation de Nginx à l'aide du fichier configure
pour visualiser les options de configuration et les modules nécessaires pour le processus de compilation NGINX à l'aide de la commande suivante.
# ./configure - help
Il est maintenant temps de compiler Nginx avec vos configurations spécifiques et vos modules activés ou désactivés. Pour ce tutoriel, les modules et spécifications suivants ont été utilisés, mais vous pouvez modifier la compilation à tous les besoins.
-
--user=nginx
- Définissez l'utilisateur système que Nginx s'exécutera. -
--group=nginx
- Définissez le groupe système que Nginx exécutera. -
--prefix=/etc/nginx
- Répertoire des fichiers serveur (fichier nginx.conf et autres fichiers de configuration) - par défaut est / usr / local / nginx répertoire. -
--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 d'erreur NGINX. -
--http-log-path=/var/log/nginx/access.log
- Définit l'emplacement du fichier de 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 d'accès aux sources de la bibliothèque PCRE - non construite par défaut et nécessite une bibliothèque PCRE.
Pour afficher, une liste de tous les modules Nginx, visitez la page Web Nginx Docs à 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 émettant la commande suivante, qui utilisera toutes les configurations et modules discutés 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-lig-path = / var / log / nginx / error.log ---http-lig-path --pid-path = / var / run / nginx.pid --lock-path = / var / run / nginx.lock --with-http_ssl_module --with-pcre
Une fois que le processus de compilation a vérifié tous les utilitaires requis par le système comme les bibliothèques GNU C Compiler, PCRE et OpenSSL, il crée le fichier make.conf
et publie un résumé de toutes les configurations.
Résumé de la configuration Utilisation de la bibliothèque système PCRE2 Utilisation de la bibliothèque du système OpenSSL Utilisation de la bibliothèque System Zlib Préfixe de chemin Nginx: "/ etc / nginx" Fichier binaire nginx: "/ usr / sbin / nginx" Ninx Modules Chemin: "/ etc / nginx / modules" Préfixe de configuration Nginx: "/ etc / nginx" Fichier de configuration Nginx: "/etc/nginx/nginx.conf" Fichier Nginx PID: "/var/run/nginx.pid" Fichier journal des erreurs de Nginx: "/var/log/nginx/error.log" Nginx Http Access Log Fichier: "/var/log/nginx/access.log" Fichiers temporaires de la demande du client Nginx HTTP Client: "Client_Body_Temp" Fichiers temporaires proxy Nginx HTTP: "Proxy_Temp" Ninx Http FastCGI Fichiers temporaires: "FastCGI_TEMP" Nginx Http UWSGI Fichiers temporaires: "UWSGI_TEMP" Nginx Http SCGI Fichiers temporaires: "SCGI_TEMP"
Construire nginx à partir de la source
La dernière étape consiste à construire les binaires à l'aide de la commande make
, qui peut prendre un certain temps pour terminer en fonction de vos ressources de machine, et installer Nginx sur votre système avec la commande de make install
.
Faites attention à la commande make install
nécessite des privilèges racine pour effectuer l'installation, donc si vous n'êtes pas connecté avec un compte racine, utilisez un utilisateur privilégié avec sudo .
# faire # faire l'installation
Une fois le processus d'installation terminé avec succès, ajoutez l'utilisateur du système Nginx (avec / etc / nginx / comme répertoire domestique et sans shell valide), l'utilisateur que Nginx s'exécutera comme en émettant la commande userAdd suivante.
# userAdd -d / etc / nginx / -s / sbin / nologin nginx
Configurer le fichier nginx
Lors de la compilation, nous avions spécifié que Nginx s'exécutera à partir de l'utilisateur du système Nginx , ouvrira le fichier nginx.conf et modifiera l'instruction utilisateur en nginx .
# nano /etc/nginx/nginx.conf OU # vi /etc/nginx/nginx.conf
Ici, localisez et modifiez l'utilisateur et, également, documentez les instructions d'emplacement des racines, avec les options suivantes.
utilisateur nginx; emplacement / { root / var / www / html; AutoIndex sur; index index.html index.htm;
Avant de démarrer Nginx , assurez-vous que vous avez créé le chemin Root du document Web, puis démarrez Nginx à l'aide de la commande suivante.
# mkdir -p / var / www / html # / usr / sbin / nginx
Si vous souhaitez vérifier si Nginx s'exécute à l'aide de votre invite de shell, exécutez la commande netStat pour vérifier la connexion TCP.
# netStat -Tulpn | grep nginx
Ouvrez Nginx sur le pare-feu
Pour vérifier Nginx à partir d'un système distant, ajoutez une règle de pare-feu pour ouvrir la connexion à l'extérieur sur le port 80 et 443 .
# Firewall-CMD - PERMANENT --Add-Service = HTTP # Firewall-CMD - Permanent --Add-Service = HTTPS # systemctl redémarrer le pare-feu
Enfin, ouvrez un navigateur et dirigez l'URL vers l'adresse IP de votre serveur à:
http: // server_ip
Gérer le service Nginx
Pour gérer le processus Nginx , utilisez les commandes suivantes.
# / usr / sbin / nginx -v [afficher les modules et configurations nginx] # / usr / sbin / nginx -h [Options d'aide] # / usr / sbin / nginx -t [Vérifier le fichier de configuration] # / usr / sbin / nginx [Processus de démarrage nginx] # / usr / sbin / nginx -s stop [procédé stop nginx] # / usr / sbin / nginx -s reload [procédé Nginx de reload]
Si vous avez besoin de gérer le processus Daemon Nginx via un script systemd , créez le fichier suivant sur /lib/systemd/system/nginx.service , puis, vous pouvez utiliser les commandes SystemCTL pour gérer le processus.
# vi /lib/systemd/system/nginx.service
Ajoutez le contenu du fichier suivant.
[Unité] Description = le serveur Nginx HTTP et proxy inversé After = syslog.target nework-online.target Remote-Fs.target nss-lookup.target Want = Network-online.target [Service] Type = Forking Pidfile = / run / nginx.pid Execstartpre = / usr / sbin / nginx -t Execstart = / usr / sbin / nginx Exedeload = / usr / sbin / nginx -s rechargement Execstop = / bin / kill -s quit $ mainpid PrivateTMP = true [Installer] WantedBy = Multi-utilisateur.target
Une fois le fichier nginx systemd créé, gérez le démon à l'aide des commandes ci-dessous.
# systemctl start nginx # systemctl stop nginx # Statut SystemCTL Nginx
C'est tout! Vous avez maintenant la dernière version de Nginx installée sur vos distributions basées sur RHEL. Dans le prochain tutoriel, je vais discuter de la fa?on d'installer et d'activer le gestionnaire de processus PHP-FPM via la passerelle Nginx Fastcgi.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

En tant qu'administrateur système, vous pouvez vous retrouver (aujourd'hui ou à l'avenir) dans un environnement où Windows et Linux coexistent. Ce n'est un secret pour personne que certaines grandes entreprises préfèrent (ou doivent) gérer certains de leurs services de production dans Windows Boxes et

Dans Linux Systems, 1. Utilisez la commande IPA ou HostName-I pour afficher la propriété intellectuelle privée; 2. Utilisez curlifconfig.me ou curlipinfo.io/ip pour obtenir une adresse IP publique; 3. La version de bureau peut afficher IP privé via les paramètres système, et le navigateur peut accéder à des sites Web spécifiques pour afficher la propriété IP publique; 4. Les commandes communes peuvent être définies sous forme d'alias pour un appel rapide. Ces méthodes sont simples et pratiques, adaptées aux besoins de visualisation IP dans différents scénarios.

Construit sur le moteur V8 de Chrome, Node.js est un environnement d'exécution JavaScript open source et axé sur les événements con?u pour la construction d'applications évolutives et les API backend. NodeJS est connu pour être léger et efficace en raison de son modèle d'E / S non bloquant et

LinuxCanrunonModesthardwarewithSpecificminimumRequirements.A1GHZProcessor (x86orx86_64) est ensemble, avec-corecpureComend.r.R AmshouldBeatleast512MBForCommand-lineUseor2gbfordesktopenvironments.

écrit en C, MySQL est une source ouverte, multiplateforme, et l'un des systèmes de gestion de base de données relationnels les plus utilisés (RDMS). Il fait partie intégrante de la pile de lampes et est un système de gestion de base de données populaire dans l'hébergement Web, l'analyse des données,

Ubuntu a longtemps été un bastion d'accessibilité, de vernis et de puissance dans l'écosystème Linux. Avec l'arrivée d'Ubuntu 25.04, nommé ?Plucky Puffin?, Canonical a à nouveau démontré son engagement à fournir un

MongoDB est une base de données NOSQL à haute performance et hautement évolutive de documents construite pour gérer le trafic intense et de grandes quantités de données. Contrairement aux bases de données SQL traditionnelles qui stockent les données dans les lignes et les colonnes dans les tables, MongoDB structure les données dans un J

écrit en PHP, Magento est une plate-forme de commerce électronique à source ouverte populaire et polyvalente qui offre aux entreprises un panier en ligne. Il tire parti de divers cadres PHP tels que Symfony et Laminas pour améliorer sa fonctionnalité et sa convivialité. Mage
