J'ai traditionnellement déployé mes sites sous Apache, simplement par défaut. J'ai cependant entendu parler de NGinX et je me demande dans quelles conditions il serait supérieur. Outre Apache et Nginx, quelles sont les autres options pour les serveurs Web et quels sont leurs avantages?
Oui.
Auparavant, l'un des serveurs Web connaissait une forte augmentation de la charge toutes les quelques heures. Après avoir regardé dans les journaux, j'ai découvert à quel moment le pic de charge s'était produit, il y avait beaucoup de gens qui regardaient la galerie.
J'ai donc déchargé 99% du contenu statique d'Apache vers nginx. Apache a été laissé pour servir tous les php. La charge sur mes serveurs Web a chuté à un nombre peu élevé et sans plus de pointes.
Si vous souhaitez tirer le meilleur parti de vos serveurs, assurez-vous qu'un serveur léger serve tout le contenu statique.
Apache peut être un peu lourd et peut tomber lorsqu'il est soumis à une charge lourde. Des serveurs plus légers sont disponibles, notamment nginx, lighttpd et cherokee.
Ces options légères peuvent être configurées pour traiter rapidement les fichiers statiques et déléguer le travail dynamique côté serveur à Apache.
Il existe une PILE de serveurs Web. Je pense que cela dépend de l'utilisation que vous souhaitez. Apache fera presque tout ce que les gens veulent, il est connu pour être bien, bien mis à jour et fonctionnera avec presque toutes les combinaisons de matériel et de système d'exploitation.
Pour comparer les serveurs Web, cochez la case Comparaison du logiciel du serveur Web .
Netcraft suit la part de marché des serveurs Web et, selon eux, IIS se classe au deuxième rang derrière Apache avec une part de marché de 26,03% (en juillet 2010). Ceci est basé sur une enquête de plus de 205 millions de sites
Ce lien a des raisons pour lesquelles vous devriez vérifier IIS7 si vous utilisez Apache aujourd'hui
Cela dépend vraiment de ce que vous faites.
Si vous avez uniquement du contenu statique, vous n'avez pas besoin d'Apache. nginx ou lighttpd vous serviraient très bien.
Si vous avez un mélange de statique et de dynamique (bien, Perl ou PHP), mais un petit site, vous pouvez toujours vous débrouiller avec l'une de ces alternatives plus FastCGI, ou tout simplement jeter le tout dans Apache.
Si vous servez Ruby avec votre contenu statique, mod_passenger
dans Apache devrait vous bien servir, avec nginx/lighttpd/etc pour votre contenu statique.
Pour Python (mon domaine d'expertise), vous pouvez faire en sorte qu'Apache utilise mod_python
si vous le souhaitez, mais préparez-vous à la lenteur. mod_wsgi
est meilleur, mais vous avez toujours la surcharge d'Apache, ce qui est bien si vous avez beaucoup de lourd = trafic dynamique. Apache est un élévateur lourd la plupart du temps.
Si vous n'avez pas beaucoup de trafic, recherchez de nouveaux systèmes tels que gunicorn
ou uWSGI
ou le serveur tout-en-un Cherokee pour gérer votre Python. Cherokee gère également les fichiers statiques. Le reste, vous voudrez toujours utiliser nginx/lighttpd pour servir le contenu statique.
Java et d'autres langages, je n'en ai aucune idée.
L'avantage d'utiliser nginx, cependant, est qu'il est incroyablement configurable. Installez donc deux serveurs statiques avec différents sous-domaines, un pour CSS, des images et JS. De cette façon, vous évitez la limite de 2 fichiers par domaine à la fois. Configurez plusieurs serveurs, puis installez un proxy/équilibreur de charge nginx devant eux pour vous assurer que tout votre contenu statique est toujours disponible.
En gros, OUI, regardez plus qu’Apache!