{Le lien de téléchargement a expiré. Veuillez actualiser la page et réessayer.}

NGINX - Maîtriser la documentation officielle

HTTP PDF 7 pages 72.68 Ko 1,321
NGINX - Maîtriser la documentation officielle
PDF 7 p. 72.68 Ko
Télécharger

Lien sécurisé — 5 min

par Philippe Lafaye

À propos de ce cours

Sommaire

  • Présentation
  • Pourquoi Nginx ?
  • Installation
  • Post-Installation
  • Séparation des configurations de domaine à la apache2 debian
  • Activation du logrotate
  • Installation d’un script init.d
  • Configuration pour une machine multi-processeurs
  • Configuration d’une instance zwook

Programme du cours

Objectifs d'apprentissage

  • Comprendre l'architecture et les fonctionnalités de base de Nginx
  • Maîtriser l'installation et la configuration initiale de Nginx sur différents systèmes
  • Apprendre à organiser les configurations par domaine de manière modulaire
  • Configurer et optimiser Nginx pour les environnements multi-processeurs
  • Implémenter des scripts de gestion (init.d) et des outils comme logrotate
  • Déployer une instance spécifique (ex: zwook) avec des paramètres avancés

Public cible

Ce cours s'adresse aux administrateurs système, développeurs back-end et DevOps souhaitant approfondir leurs connaissances sur Nginx. Une compréhension de base des serveurs web et des lignes de commande Linux est recommandée. Les professionnels cherchant à optimiser les performances de leur infrastructure web y trouveront des techniques avancées.

Présentation

Nginx est un serveur web haute performance, réputé pour sa stabilité et sa faible consommation de ressources. Contrairement à Apache, il utilise une architecture asynchrone événementielle, idéale pour gérer des milliers de connexions simultanées. Ce cours couvrira son utilisation comme serveur web, reverse proxy, et load balancer.

Pourquoi Nginx ?

Nginx excelle dans la gestion du trafic haute densité, réduisant la latence grâce à son modèle non-bloquant. Il est 2,5 fois plus rapide qu'Apache dans des tests benchmarks standard, avec une empreinte mémoire réduite de 40%. Son système de modules dynamiques permet une extensibilité sans rechargement du serveur.

Installation

L'installation varie selon les systèmes : sous Debian/Ubuntu, utilisez apt-get install nginx. Pour les versions mainline (dernières fonctionnalités), ajoutez le dépôt officiel. Sur CentOS, activez EPEL avant d'utiliser yum. Une vérification via nginx -v confirme la version installée.

Post-Installation

Après l'installation, sécurisez Nginx :

  • Désactivez les versions obsolètes de TLS
  • Configurez les en-têtes de sécurité (CSP, X-XSS-Protection)
  • Limitez les méthodes HTTP autorisées (GET, POST, HEAD)

Testez la configuration avec nginx -t avant tout redémarrage.

Séparation des configurations de domaine à la apache2 debian

Créez un répertoire /etc/nginx/sites-available et /etc/nginx/sites-enabled. Chaque fichier de configuration de domaine (ex: mondomaine.conf) doit inclure :

 server { listen 80; server_name mondomaine.com; root /var/www/mondomaine; index index.html; } 

Activez avec un lien symbolique vers sites-enabled et rechargez Nginx.

Activation du logrotate

Évitez l'explosion des fichiers logs avec logrotate. Configurez /etc/logrotate.d/nginx :

 /var/log/nginx/*.log { daily missingok rotate 14 compress delaycompress notifempty create 0640 www-data adm sharedscripts postrotate invoke-rc.d nginx rotate >/dev/null 2>&1 endscript } 

Installation d’un script init.d

Pour les systèmes sans systemd, créez /etc/init.d/nginx avec les commandes start/stop/reload. Utilisez le template Debian standard, ajustez les chemins (PID, binaire), et activez-le via update-rc.d nginx defaults.

Configuration pour une machine multi-processeurs

Optimisez worker_processes (valeur auto ou nombre de cores CPU). Ajustez worker_connections (ex: 1024) et activez accept_mutex pour équilibrer la charge entre workers. Utilisez top pour surveiller l'utilisation CPU après réglages.

Configuration d’une instance zwook

Zwook nécessite une configuration spécifique :

  • Timeout augmenté à 300s pour les uploads volumineux
  • Activation de WebSockets avec proxy_set_header Upgrade $http_upgrade
  • Limitation des requêtes POST à 50MB via client_max_body_size

Testez avec ab -n 1000 -c 100 http://zwook/ pour valider les performances.