Installation du code source Nginx version stable 1.26.2 [Guide complet]

Site officiel Nginx en libre accès : https://nginx.org

Adresse de téléchargement du code source : https://nginx.org/en/download.html

  1. Mainline version - Version principale
  2. Stable version - Version stable
  3. 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

Étiquettes: nginx installation Linux serveur-web compilation

Publié le 16 juillet à 08h04