← Retour aux formations

Développement Web & No-Code

NGINX, administrer un serveur Web

Avancé
Développement Web & No-Code

À 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

  • check_circleGérer les requêtes HTTP incluant C10K, les threads et la mémoire
  • check_circleConfigurer des hôtes virtuels avec NGINX
  • check_circleMettre en œuvre HTTPS pour une application web sécurisée
  • check_circleCréer un proxy avec NGINX
  • check_circleGé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).