Installation de Nginx sur CentOS 7 et configuration du démarrage automatique via Systemd

Prérequis et outils de compilation

Avant de compiler Nginx à partir des sources, il est nécessaire d'installer les outils de développement et les bibliothèques de base sur votre système CentOS 7. Exécutez la commande suivante pour préparer l'environnement :

yum install -y gcc gcc-c++ make libtool zlib-devel openssl-devel

Installation de la bibliothèque PCRE

Nginx utilise la bibliothèque PCRE (Perl Compatible Regular Expressions) pour traiter les expressions régulières dans ses fichiers de configuration, notamment pour les blocs de localisation (locations) et la réécriture d'URL.

Téléchargez et compilez la vertion stable de PCRE (ici la version 8.45) :

# Récupération de l'archive
curl -O https://downloads.sourceforge.net/project/pcre/pcre/8.45/pcre-8.45.tar.gz

# Extraction et accès au répertoire
tar -xzvf pcre-8.45.tar.gz
cd pcre-8.45

# Configuration et compilation
./configure
make && make install

# Vérification de l'installation
pcre-config --version

Compilation et installation de Nginx

Nous allons maintenant procéder à l'installation de Nginx. Il est recommandé de vérifier la dernière version stable sur le site officiel.

# Téléchargement de Nginx
wget https://nginx.org/download/nginx-1.26.1.tar.gz
tar -zxvf nginx-1.26.1.tar.gz
cd nginx-1.26.1

# Configuration avec support SSL
# L'option --prefix définit le répertoire d'installation
./configure --prefix=/usr/local/nginx --with-http_ssl_module

# Compilation et déploiement
make && make install

Une fois l'installation terminée, vous pouvez vérifier la version installlée :

/usr/local/nginx/sbin/nginx -v

Configuration du service Systemd pour le démarrage automatique

Pour gérer Nginx comme un service système et permettre son lancement automatique au démarrage du serveur, vous devez créer un fichier d'unité systemd.

Créez le fichier suivant : /etc/systemd/system/nginx.service

[Unit]
Description=Serveur HTTP Nginx
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true

[Install]
WantedBy=multi-user.target

Appliquez les permissions nécsesaires et rechargez la configuration du gestionnaire de services :

chmod 644 /etc/systemd/system/nginx.service
systemctl daemon-reload

Gestion du service Nginx

Vous pouvez désormais utiliser les commandes standards de CentOS pour piloter votre serveur web :

# Activer le lancement automatique au boot
systemctl enable nginx

# Démarrer le serveur
systemctl start nginx

# Vérifier le statut du processus
systemctl status nginx

# Appliquer des modifications de configuration sans interruption
systemctl reload nginx

# Arrêter le service
systemctl stop nginx

Étiquettes: nginx CentOS7 systemd compilation webserver

Publié le 26 juillet à 04h02