Site officiel Nginx en libre accès : https://nginx.org
Adresse de téléchargement du code source : https://nginx.org/en/download.html
- Mainline version - Version principale
- Stable version - Version stable
- Legacy versions - Versions historiques
Téléchargement du fichier source Nginx
curl -O https://nginx.org/download/nginx-1.26.2.tar.gz
Installation à partir des sources
Installation des dépendances
Lors de la configuration de votre système d'exploitation, il est recommandé de choisir « Server with GUI » et d'inclure les paquets supplémentaires « Development Tools » et « Compatibility Librareis ». Assurez-vous que gcc, libgcc, gcc-c++ et autres compilateurs sont correctement installés.
Avant d'installer Nginx, vous devez installer certaines dépendances essantielles. Les trois principales dépendances de Nginx sont zlib, pcre et openssl. Ces bibliothèques permettent respectivement : zlib pour le module gzip, pcre pour le module rewrite, et openssl pour les fonctionnalités SSL. Pour une installation simple et rapide, utilisez yum pour installer ces paquets.
# Installation des paquets de base
yum -y install zlib pcre pcre-devel openssl openssl-devel
# Si vous avez installé une version minimale du système d'exploitation,
# vous pouvez installer les groupes de paquets suivants :
# Liste des groupes de paquets disponibles
yum grouplist
# Installation des outils de développement
yum -y groupinstall "Development Tools"
# Installation des bibliothèques de compatibilité
yum -y groupinstall "Compatibility Libraries"
Détection de l'environnement et configuration
Décopmression de l'archive :
tar -xf nginx-1.26.2.tar.gz
Entrée dans le répertoire :
cd nginx-1.26.2
Lancement de la configuration :
./configure \
--prefix=/opt/nginx \
--sbin-path=/opt/nginx/bin/serveur-web \
--conf-path=/opt/nginx/conf/nginx.conf \
--error-log-path=/opt/nginx/var/log/error.log \
--http-log-path=/opt/nginx/var/log/access.log \
--pid-path=/opt/nginx/var/run/process.pid \
--with-http_stub_status_module \
--with-http_ssl_module \
--with-http_gzip_static_module \
--with-pcre
# Configuration de base, suffisante pour la plupart des cas
# Les chemins suivants sont les chemins par défaut, vous pouvez les modifier
# Répertoire d'installation du programme
--prefix=/opt/nginx
# Chemin du binaire principal
--sbin-path=/opt/nginx/bin/serveur-web
# Chemin du fichier de configuration
--conf-path=/opt/nginx/conf/nginx.conf
# Chemin du journal des erreurs
--error-log-path=/opt/nginx/var/log/error.log
# Chemin du journal d'accès
--http-log-path=/opt/nginx/var/log/access.log
# Chemin du fichier PID
--pid-path=/opt/nginx/var/run/process.pid
# Installation du module de surveillance d'état
--with-http_stub_status_module
# Activation de la compression gzip
--with-http_gzip_static_module
# Activation des expressions régulières
--with-pcre
# Activation du module SSL, dépend de l'option --with-openssl
--with-http_ssl_module
# Chemin vers les sources OpenSSL
--with-openssl
Compilation et installation
make
make install
Une fois la compilation terminée, vous pouvez vérifier la configuration avec la commande suivante :
# -v : affiche la version et quitte
# -V : affiche la version et les options de configuration
/opt/nginx/bin/serveur-web -V
serveur-web version: serveur-web/1.26.2
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)
built with OpenSSL 1.0.2k-fips 26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/opt/nginx --sbin-path=/opt/nginx/bin/serveur-web --conf-path=/opt/nginx/conf/nginx.conf --error-log-path=/opt/nginx/var/log/error.log --http-log-path=/opt/nginx/var/log/access.log --pid-path=/opt/nginx/var/run/process.pid --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-pcre
Création du script de démarrage
cat > /etc/systemd/system/serveur-web.service << 'EOF'
[Unit]
Description=Le serveur HTTP Nginx et proxy inverse
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/opt/nginx/var/run/process.pid
ExecStartPre=/usr/bin/rm -f /opt/nginx/var/run/process.pid
ExecStartPre=/opt/nginx/bin/serveur-web -t
ExecStart=/opt/nginx/bin/serveur-web
ExecReload=/bin/kill -s HUP $MAINPID
KillSignal=SIGQUIT
TimeoutStopSec=5
KillMode=process
PrivateTmp=true
[Install]
WantedBy=multi-user.target
EOF
Rechargement de la configuration systemd
systemctl daemon-reload
Gestion du service Nginx
Après avoir configuré le fichier de service, vous pouvez gérer Nginx avec systemctl :
# Rechargement du service
systemctl reload serveur-web
# Démarrage du service
systemctl start serveur-web
# Arrêt du service
systemctl stop serveur-web
# Activation au démarrage
systemctl enable serveur-web
# Vérification du statut
systemctl status serveur-web
# Vérification de l'activation au démarrage
systemctl is-enabled serveur-web
Utilisation de Nginx
Création du lien symbolique :
ln -s /opt/nginx/bin/serveur-web /usr/bin/serveur-web
Affichage de l'aide :
serveur-web -h
Informations sur la version :
serveur-web -v
Version et options de configuration :
serveur-web -V
Vérification de la configuration :
serveur-web -t