Retour au blog
Linux

Nginx vs Apache : comparatif complet

18 Jul 2024 7 min
Nginx Apache Linux

Nginx vs Apache : quel serveur web choisir ?

Le choix entre Nginx et Apache dépend de votre cas d'usage. Voici une comparaison objective.

Architecture

Apache utilise un modèle basé sur les processus/threads (prefork ou worker). Chaque connexion est gérée par un processus ou thread dédié.

Nginx utilise une architecture événementielle asynchrone. Un processus worker peut gérer des milliers de connexions simultanées.

Performances

# Benchmark avec ab (Apache Bench)
ab -n 10000 -c 100 http://localhost/

# Nginx : ~15000 req/s pour du contenu statique
# Apache : ~5000 req/s pour du contenu statique

Configuration PHP

Apache avec mod_php :

<VirtualHost *:80>
    DocumentRoot /var/www/html/public
    <Directory /var/www/html/public>
        AllowOverride All
    </Directory>
</VirtualHost>

Nginx avec PHP-FPM :

server {
    root /var/www/html/public;
    location ~ \.php$ {
        fastcgi_pass unix:/var/run/php/php8.3-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

Quand choisir quoi ?

  • Nginx : contenu statique, reverse proxy, haute concurrence, microservices
  • Apache : .htaccess requis, modules spécifiques, compatibilité héritée
  • Les deux : Nginx en reverse proxy devant Apache pour le meilleur des deux mondes

Dans des contextes à fort trafic comme chez CCM Benchmark, Nginx est privilégié pour sa gestion efficace des connexions concurrentes.