Pourquoi je reviens à Apache après être passé à Nginx ?

14 mars 2016

Ça va faire peut-être un an ou deux que je me suis mis à NGINX, au détriment d’Apache. Les raisons étaient que celui-ci était présenté comme plus performant, plus léger, plus souple, etc. C’était aussi pour le fun, pour découvrir un nouvel outil. Et également me faire la main sur une technologie qui devient incontournable, afin de ne pas être à la ramasse professionnellement.

Mais aujourd’hui je reviens au bon vieux Apache… Pourquoi donc ?

Compatibilité

Malgré la hype autour de NGINX, la majorité des applications Web sont encore faites pour fonctionner de base avec Apache. Notamment en incluant des fichiers .htaccess pour faire le job concernant tout ce qui est réécriture d’URLs, protection des fichiers et dossiers, etc.

Ça se voit aussi au niveau des différentes documentations. Pour prendre un exemple, la documentation de ownCloud présente Apache 2.4 comme le serveur recommandé pour son installation, et la procédure d’installation et de configuration se base donc sur ce serveur Web. Pour NGINX, il faut aller fouiller au fin fond de la doc pour trouver un exemple de fichier de config à rallonge.

Simplicité

Avec NGINX, chaque application Web nécessite une configuration spécifique différente. Pour la gestion des scripts PHP, d’une application à l’autre les paramètres fastcgi_param ne sont pas les mêmes. Donc pas moyen de normaliser et d’externaliser la configuration PHP dans un fichier, qu’il suffirait d’inclure dans chaque vhost. Toutes les règles se trouvant dans les fichiers .htaccess doivent être réécrites et adaptées pour NGINX, et là je vous souhaite bien du courage si la documentation de l’application ne les fournit pas ! Enfin bon, dans le contexte d’un serveur qui héberge diverses applications c’est difficile de maintenir une configuration cohérente et efficace.

Performances

Question performances, le résultat dépend grandement du matériel et du type de sites que vous servez. En résumé, sur des petites configurations (mono-core) NGINX s’en sort mieux du fait de son architecture event-driven. Pour servir des fichiers statiques (HTML, JS, CSS, images), NGINX est là aussi encore loin devant Apache. Ceci malgré le fait qu’avec le mode MPM Worker de Apache on s’approche du fonctionnement de NGINX, et qu’avec le mode Event on y est carrément.

Par contre, pour ce qui est des applications PHP, il semblerait que Apache s’en sorte mieux (en dehors des petites config matérielles), en mode Worker ou Event.

Conclusion

La seule raison qui pourrait me faire rester sous NGINX, c’est le côté performance pour des sites statiques, sauf que j’en ai pas et que même le cas échéant je n’ai pas de site à fort trafic. Donc bon, j’ai assez fait joujou avec NGINX et je reviens à Apache pour mon utilisation personnelle, je reviens à la simplicité.

Pour ceux qui veulent explorer davantage les différences entre NGINX et Apache, voici un article qui m’a l’air de faire une bonne synthèse : https://www.digitalocean.com/community/tutorials/apache-vs-nginx-practical-considerations

À suivre, un article pour installer Apache en mode Event, avec PHP-FPM.


Commenter
Articles de blogs que je lis

40 ans de GNU

40 ans de GNU Richard Stallman ne voulait pas changer le monde. Il ne voulait pas se battre contre les moulins à vent. Il ne voulait pas réinventer la roue. Richard Stallman voulait simplement retrouver ses amis, sa communauté. Pour ce jeune homme barbu et …
Ploum.net · 27 Sep 2023

La blog­chain

Avec les réseaux sociaux, les petits espaces person­nels inter­con­nec­tés qu’é­taient les blogs ont peu à peu disparu du paysage. Il en reste, mais les liens ne sont plus aussi forts. À la grande époque il était fréquent d’avoir des blogroll. sur un coin de c…
Carnet de notes · 8 Sep 2023

#63 : Comment parler du vivant pour mieux l’appréhender

Baptiste Morizot est philosophe, maître de conférences à Aix-Marseille Université et auteur de plusieurs ouvrages sur les relations entre l'humain et le reste du vivant (Les Diplomates, Sur la piste animale, Manières d'être vivant…). En avril dern…
Nourritures terrestres · 13 Aug 2023