picto Open Source

Formation Nginx Administrer un serveur Web Nginx

Référence

OANX

Durée

3 JOURS

Tarif

1590 € HT

NIVEAU

Intermédiaire

Cours à distance

Non

Objectifs de la formation Nginx Administrer un serveur Web Nginx

Nginx n’est pas, au fond, un serveur web, un proxy de distribution d’accès ou un reverse-proxy applicatif. Il est, avant tout, un serveur d’applications directement concurrent de Tomcat ou de JBoss ou, en d’autres termes, un cargo capable d’embarquer efficacement tout type d’applications distribuées en réseau, serveur web, proxies, reverses-proxies, API C, Lua et PostgreSQL comprises. Nginx ne repose pas sur le même paradigme que Apache, PHP, la JVM, etc. mais sur un modèle de gestion asynchrone des événements qui permet d'offrir des performances impressionantes. Le temps d'attente n'existe plus grâce à une architecture conçue spécifiquement dans cet esprit.

Durant cette formation, vous découvrirez cette architecture afin d'exploiter au mieux la pile de services Nginx pour revaloriser des solutions serveurs existantes ou en concevoir de nouvelles tout en renforçant leur sécurité.
Vous saurez comment augmenter les performances et la haute disponibilité des solutions tout en faisant chuter le TCO qui demeure l'objectif central de cette formation.
Bien entendu, cette formation s'attache également à l'exploitaiton au quotidien de Nginx et vous saurez l'installer, le configurer, et l'administrer toujours dans un souci de performance et d'efficacité.
La formation se conclut par une demi-journée destinée à vous donner l'occassion d'acquérir la maîtrise des neufs clés qui permettent de déployer des piles de services NGINX capables de traiter des dizaines de milliers de requêtes HTTP POST par seconde, et pour être plus précis, l'équivalent en mode POST de 50% de ce qui peut être traité, au mieux, sous Varnish + Apache en mode GET sous la forme d'exemples concrets.

Pré-Requis

Nginx n’est pas, au fond, un serveur web, un proxy de distribution d’accès ou un reverse-proxy applicatif. Il est, avant tout, un serveur d’applications directement concurrent de Tomcat ou de JBoss ou, en d’autres termes, un cargo capable d’embarquer efficacement tout type d’applications distribuées en réseau, serveur web, proxies, reverses-proxies, API C, Lua et PostgreSQL comprises. Nginx ne repose pas sur le même paradigme que Apache, PHP, la JVM, etc. mais sur un modèle de gestion asynchrone des événements qui permet d'offrir des performances impressionantes. Le temps d'attente n'existe plus grâce à une architecture conçue spécifiquement dans cet esprit.

Durant cette formation, vous découvrirez cette architecture afin d'exploiter au mieux la pile de services Nginx pour revaloriser des solutions serveurs existantes ou en concevoir de nouvelles tout en renforçant leur sécurité.
Vous saurez comment augmenter les performances et la haute disponibilité des solutions tout en faisant chuter le TCO qui demeure l'objectif central de cette formation.
Bien entendu, cette formation s'attache également à l'exploitaiton au quotidien de Nginx et vous saurez l'installer, le configurer, et l'administrer toujours dans un souci de performance et d'efficacité.
La formation se conclut par une demi-journée destinée à vous donner l'occassion d'acquérir la maîtrise des neufs clés qui permettent de déployer des piles de services NGINX capables de traiter des dizaines de milliers de requêtes HTTP POST par seconde, et pour être plus précis, l'équivalent en mode POST de 50% de ce qui peut être traité, au mieux, sous Varnish + Apache en mode GET sous la forme d'exemples concrets.

Public

Cette formation NGINX s'adresse à toute personne souhaitant configurer, installer, exploiter, sécuriser et optimiser un serveur Nginx.

Elle s’adresse, également, à toute personne désirant déployer des piles de services de très haute-disponibilité en environnement critique (5G, objets connectés, e-commerce cross-canal, streaming de médias dématérialisés) en quête de repères précis et documentés sur les API, solutions et langages à privilégier pour opérer ces projets dans les meilleurs conditions.

Contenu du cours Nginx Administrer un serveur Web Nginx

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.