Présentation de NGINX
Rapide rappel sur le protocole http
Les fonctionnalités de NGINX
Un retour aux sources de l'efficacité algorithmique
Architecture interne et nouveau paradigme (asynchrone)
Pourquoi NGINX facilite l'urbanisation ?
NGINX versus Apache
Exemples d'architectures avec NGINX
Mise en oeuvre de NGINX
Installation de Nginx
Choix des modules
Le fichier nginx.conf
Quels impacts dans la configuration de Nginx ?
Présentation de la distribution NGINX/OpenResty
Démonstration et premier aperçu des performances
Travaux Pratiques
Installation et configuration de la plateforme de services VirtualBox/Linux (VM fournie)
Installation et configuration de la plateforme de production NGINX/OpenResty
Revue d’inventaire des directives de configuration de NGINX
Les services applicatifs NGINX
La richesse du contexte applicatif avec Nginx
Les webapps PHP
Pousser les limites de Nginx avec Lua
Configurer Nginx comme Mail Proxy Server
Travaux Pratiques
Installation et configuration des web-apps PHP, Python et LuaJIT de démonstration, y compris leurs back-ends MySQL et PostgreSQL (NGINX -> PHP-FPM/MySQL, NGINX -> Gunicorn/Python/Bottle/PostgreSQL, NGINX -> LuaJIT/Redis2/PostgreSQL, Apache -> PHP/MySQL)
Sécurité
Présentation des composants et des options de configuration disponibles
Les recommandations
Sécurité et sandboxing avancé de la plate-forme de services NGINX : locations, caching MVC, HTTPS, HttpAuthBasicModule, WAF, GufW, etc.
Travaux Pratiques
Installation et configuration du firewall IP GufW; Restriction d’accès par IP, [sous-]domaine DNS et/ou Port; Configuration du support HTTPS; configuration et utilisation du module d’authentification d’accès « ngx_http_auth_basic_module »
Installation du WAF « Falko Timme »
Installation et configuration du WAF ModSecurity comme module NGINX
Installation et configuration du WAF VeryNginx comme module NGINX
Évaluation des performances comparées des WAF Falko Timme, ModSecurity et VeryNginx
Load balancing avec NGINX
Présentation des trois principales catégories de reverse-proxies disponibles
Travaux Pratiques
Installation et configuration avancée de HaProxy comme reverse-proxy de load-balancing tolérant aux fautes de disponibilité
Configuration de NGINX comme reverse-proxy de load-balancing
Services avancés avec NGINX
Nginx comme Media Server
Spécificités du streaming vidéo (VOD)
NGINX comme serveur de mail
Travaux Pratiques
Installation et configuration de base d’un serveur NGINX/Nginx-RTMP-Module de streaming vidéo MP4 et FLV
Installation et configuration de base d’un serveur NGINX POP/IMAP, SMTP d’emailing et de relais de messagerie Push
Performances et tuning
Benchmarking avancé de la plate-forme de services NGINX
Études des performances (pages statiques en mode HTTP GET, web-apps PHP, Python et LuaJIT en modes HTTP GET et HTTP POST, NGINX versus Apache, Standalones et Clusters)
Travaux Pratiques
Analyse des hauts et des bas dans les performances parfois inattendues de Nginx (les contextes sont ceux présentés dans ce chapitre mais l’on pourra aussi les personnaliser à vos besoins si le temps le permet).
Configuration avancée de NGINX
Les neuf clés secrètes qu’il convient de connaître, de comprendre et de savoir mettre en oeuvre pour tirer le meilleur de votre plate-forme de services NGINX
Travaux Pratiques
Configuration optimale de « nginx.conf » et de ses includes
Configuration optimale des workers
Optimisation des performances du caching discriminant des composants applicatifs NGINX, y compris les applications initialement urbanisées sous Apache avant d’être redéployées sous NGINX.