
À propos de cette formation
Cette formation couvre l'administration complète de NGINX. Les participants installent et configurent le serveur, gèrent les hôtes virtuels, mettent en œuvre HTTPS, configurent un proxy et un reverse proxy, servent des applications dynamiques via FastCGI, et apprennent à répartir et surveiller la charge.
Objectifs de la formation
- Gérer les requêtes HTTP incluant C10K, les threads et la mémoire
- Configurer des hôtes virtuels avec NGINX
- Mettre en œuvre HTTPS pour une application web sécurisée
- Créer un proxy avec NGINX
- Gérer la montée en charge des serveurs
Programme détaillé
Module 1 — Introduction
- Le protocole HTTP : notions de base
- Le problème C10K, les threads et la mémoire
- L'architecture asynchrone de NGINX
- Panorama des packages disponibles
- Compiler NGINX à partir des sources
- Démarrage, options de ligne de commande et signaux
- La documentation
- Travaux pratiques : inspection de requêtes HTTP
Module 2 — Installation et prise en main de NGINX
- Structure des fichiers de configuration
- Configuration du serveur : identité, limites et tuning
- Travaux pratiques : installer et démarrer le serveur, créer une configuration simple
Module 3 — Configuration du serveur et des hôtes virtuels
- Les blocs "server" et "location", les directives concernant les requêtes
- Les variables et leur utilisation
- NGINX et les hôtes virtuels
- Travaux pratiques : configuration d'hôtes virtuels et démarrage de plusieurs instances
Module 4 — Sécurité, redirection et réécriture d'adresses
- Contrôle d'accès des clients par adresse IP
- Authentification HTTP
- Filtrage de requêtes et réécriture d'adresses
- Gestion des pages d'erreurs
- SSL et mise en œuvre d'un hôte HTTPS
- Les logs : formats et configuration
- Travaux pratiques : mise en œuvre de HTTPS, contrôle d'accès et filtrage
Module 5 — Proxy, frontal et reverse proxy
- Proxy simple avec NGINX
- Proxy SSL vers un autre serveur HTTP
- Proxy cache : outil et usage de inotifywait
- Gestion des erreurs entre frontal et serveur réel
- Travaux pratiques : mise en œuvre de différentes configurations de NGINX en frontal d'Apache
Module 6 — Les contenus dynamiques et FastCGI
- Modifier l'encodage et le contenu des réponses à la volée
- FastCGI Process Manager (FPM)
- Servir des applications PHP ou PERL grâce à FPM
- Mise en cache de contenus avec Memcached
- Travaux pratiques : mise en œuvre d'une application phpMyAdmin et installation de WordPress
Module 7 — Gestion et répartition de la charge
- Monitoring et Accounting
- Mécanismes de proxy et répartition de charge
- Mise en œuvre d'un frontal avec upstream
- Limiter la charge du serveur
- Observer la charge et les statistiques : sar, Munin
- Outil et test de charge comparatif : Gatling
- Travaux pratiques : tester la charge dans différentes configurations, étude de la mémoire et des temps de réponse, visualisation avec Munin
Prérequis
Avoir des bases en administration Linux/Unix et en réseaux (principalement TCP/IP).