Lighttpd : un concurrent pour Apache

Posté par  . Modéré par Mouns.
Étiquettes : aucune
0
4
sept.
2005
Internet
Il y a quelques jours est sortie la version 1.4.3 du serveur HTTP lighttpd. Cette version apporte notamment un support partiel du protocole WebDAV et les configurations conditionnelles emboîtées.

Comme son nom l'indique, lighttpd vise la légèreté. Le but de projet est de fournir un serveur aussi rapide qu'Apache, mais avec une empreinte mémoire beaucoup plus faible.

Si le coeur du serveur est assez complexe, on peut l'étendre assez facilement avec un système de plugins. Ce qui explique que comparé à d'autres serveurs de même taille, lighttpd se révèle assez riche en fonctionnalités, sans toutefois être aussi "touffu" que son grand frère. Les hôtes virtuels, l'authentification, HTTPS, CGI, la compression à la volée des fichiers servis, les redirections et réécritures d'URL, et dans une certaine mesure les Server Side Includes sont supportés.

Du côté de la programmation Web, lighttpd fait clairement le choix de FastCGI, en cohérence avec son objectif de légèreté : au contraire des mod_php, mod_perl... d'Apache, l'interpréteur n'est pas inclus dans le serveur lui-même, mais en lancé une bonne fois pour toutes "à côté" du serveur. Ce qui donne des performances comparables à Apache en prefork/mod_php pour l'exécution de scripts PHP. Pour Python, on dispose en outre d'un module de connexion à une application web plus spécifique à ce langage : SCGI. Mais c'est encore avec le framework Ruby On Rails que lighttpd est le plus utilisé (pour mémoire il s'agit d'un framework MVC pour le langage Ruby).

Signalons enfin la configuration du serveur, à la fois classique (des directives dans un fichier de configuration), plus flexible et plus simple que celle d'Apache : il est possible de découper le fichier de configuration selon des conditions relatives à l'adresse IP du client, l'URL demandée, le User Agent du client... Ces conditions peuvent s'emboîter (à partir de lighttpd 1.4).

Dans la vraie vie (?) lighttpd semble être utilisé par des professionnels en tant que proxy, frontal pour application Web et surtout comme serveur d'images de publicité, en raison de ses performances impressionnantes avec les fichiers statiques. La liste de diffusion est ouverte à tous et franchement réactive.

Aller plus loin

  • # Commentaire supprimé

    Posté par  . Évalué à 2.

    Ce commentaire a été supprimé par l’équipe de modération.

    • [^] # Re: Licence

      Posté par  . Évalué à 6.

      Trouvé dans le package debian sur le site:
      0:55 toots@duppy /tmp% cat ./usr/share/doc/lighttpd/copyright
      This package was debianized by Vincent Wagelaar <vincent@ricardis.tudelft.nl> on
      Wed, 24 Mar 2004 08:20:58 +0100.

      It was downloaded from http://www.incremental.de/products/lighttpd/download/(...)

      Upstream Author: Jan Kneschke <jan@kneschke.de>

      Copyright:

      Copyright (c) 2004, Jan Kneschke, incremental
      All rights reserved.

      Redistribution and use in source and binary forms, with or without
      modification, are permitted provided that the following conditions are met:

      - Redistributions of source code must retain the above copyright notice, this
      list of conditions and the following disclaimer.

      - Redistributions in binary form must reproduce the above copyright notice,
      this list of conditions and the following disclaimer in the documentation
      and/or other materials provided with the distribution.

      - Neither the name of the 'incremental' nor the names of its contributors may
      be used to endorse or promote products derived from this software without
      specific prior written permission.

      THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
      AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
      IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
      ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
      LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
      CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
      SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
      INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
      CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
      ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
      THE POSSIBILITY OF SUCH DAMAGE.


      Je ne pense pas que cela soit compatible BSD, mais chuis pas spécialiste si quelqu'un a un avis intéressant je suis preneur..

      Romain
      • [^] # Re: Licence

        Posté par  . Évalué à 8.

        Sachant que « la licence A est compatible avec la licence B » signifie que l'on peut combiner une ½uvre sous licence A avec une ½uvre sous licence B, oui, cette licence est compatible avec la licence BSD (2 ou 3 clauses). Pour la simple et bonne raison que c'est la licence BSD révisée ;-)

        (Par révisée, on entend privée de la 3ème clause de la licence BSD originale, dite clause de publicité, qui précisait que tout le matériel promotionnel mentionnant l'inclusion d'un produit ou d'une de ses fonctionnalités devait comporter une phrase précise. Cette clause, peu respectée, était très peu commode en pratique, et elle causait l'incompatibilité avec la licence GPL.)
        • [^] # Re: Licence

          Posté par  . Évalué à 5.

          Confirmé par l'auteur principal de lighttpd:

          > PS: some readers are wondering what kind of license lighttpd is
          > published with. It's a kind of revised BSD, isn't it ?

          Yes, I'll put it on the front-page now. ;) This question come in too
          often now.

          Jan
  • # Oui !

    Posté par  (site web personnel) . Évalué à 9.

    Pour l'avoir testé, je peux affirmer que c'est un excellent serveur http, une vraie alternative à apache. Il est vraiment super léger sans perdre en fonctionnalités.
    Je le recommande plus ou moins à tous, puisqu'il conviendra à 80% des gens.
    A noter qu'il fait également preuve d'excelentes performances en tant que frontal sur un cluster ;)
    • [^] # Re: Oui !

      Posté par  (site web personnel) . Évalué à 10.

      Les logiciels sont comme les sytèmes thermodynamiques, ils ont une entropie croissante. Rares sont les logiciels qui ne grossissent pas avec le temps. Lighthttp est léger comme son nom l'indique mais est ce qu'il le restera ?
      • [^] # Re: Oui !

        Posté par  . Évalué à 2.

        Et d'ailleurs , on le dit efficace avec des fichiers statiques. Mais comparativement avec un "httpd dans le noyau" comme Tux , qu'en est-il ?
        • [^] # Re: Oui !

          Posté par  (site web personnel) . Évalué à 7.

          Mmmmh, déjà un serveur http dans le noyau, ce n'est pas forcément la meilleure idée du siècle.
          Et accessoirement, il me semble que tux n'est plus maintenu depuis un bail et d'après les benchs que j'avais fait, il n'offrait pas non plus un gain énorme par rapport à thttpd comparé aux problèmes qu'il pose.
        • [^] # Re: Oui !

          Posté par  (site web personnel) . Évalué à 4.

          Le but principale de tux était d'éviter au maximum les recopies de buffer entre le cache disque et le cache réseau. A prioris, dans le 2.6, il est possible de la faire sans avoir un module noyau dédié.

          "La première sécurité est la liberté"

  • # Voui ...

    Posté par  . Évalué à 10.

    C'est vrai, en frontal c'est un excellent outil.

    Pour ce qui est d'accélérer les pages dynamiques, l'investissement qui paye est plutôt coté code (vous savez, le PHP de goret avec le SQL qui tache).

    Mais je sais bien que tout le monde ici fait un code super propre ;)

    M
  • # et les autres...

    Posté par  . Évalué à 3.

    Ce journal tombe à pique pour moi, je cherche justement un serveur Web leger, genre très petite config, ou carrement pour l'embarqué... (genre MIPS 200Mhz ^_^)

    Qu'en est-il de thy, webfs, thttpd, dhttpd, roxen, boa, caudium ?

    Quelqu'un connait un d'entre eux ? y a t'il des bench autour de cela ? (j'ai trouve un bench solo de boa je crois mais c'est tout, encore faudrait-il le faire sur une meme config)

    Alors si je vois que personne ne la deja fait, je le ferais moi même, Mais quels SONT LES benchS que vous me proposez ? ( ApacheBench,.... ?)

    Je recherche aussi la sécurite par la meme occasion.
    • [^] # Re: et les autres...

      Posté par  . Évalué à 2.

      oups yen a aussi sur le site de lightthpd... avec thttpd, apache et lighttpd...
    • [^] # Re: et les autres...

      Posté par  (site web personnel) . Évalué à 5.

      Nous, on utilise thttpd pour servir les images statiques sur un site à trafic plutôt élevé. Ca va vite et ca correspond bien à notre besoin.

      A l'époque, j'avais évalué tux, thttpd et l'utilisation des squid dont on se sert pour les reverse et j'avais feuilleté les benchs qui étaient fait sur pas mal de sites. thttpd sortait du lot en terme de perfs / squid et n'allait pas beaucoup moins vite qu'un tux (et tux pose pas mal de souci et n'a plus l'air vraiment maintenu).

      Le gros avantage de lighttpd sur thttpd est la gestion du keep-alive.

      Pour les benchs, apache bench pour tester des perfs brutes, ce n'est pas mal mais ca reste assez basique forcément.
    • [^] # Re: et les autres...

      Posté par  . Évalué à 3.

      club internet utilise thttpd pour ses pages persos: http://perso.club-internet.fr/(...)
    • [^] # Re: et les autres...

      Posté par  (site web personnel) . Évalué à 1.

      Attention, si tu utilise un CPU embarqué comme le MIPS, tu pourais avoir des problème a cause du "multi threading" ( on quelque chose approchant )

      Boa qui n'utilise qu'un seul thread me parrait la bonne solution
  • # Yaws

    Posté par  (site web personnel) . Évalué à 5.

    Un très bon serveur Web, rapide et scalable est Yaws http://yaws.hyber.org(...)

    --
    Mickael Rémond
    http://www.3pblog.net/(...)

    Mickaël

  • # Sécurité ?

    Posté par  (site web personnel, Mastodon) . Évalué à 5.

    Vosu avez tous l'air de vous gargariser de la vitesse de la bête, mais qu'en est-il de al sécurité ?

    Quelqu'un a jeté un oeil dans le code ?

    PS.: je le ferais, c'est juste pour avoir l'avis de spécialistes ;)
    • [^] # Re: Sécurité ?

      Posté par  . Évalué à -5.

      je n'ai pas lu le code mais il semblerais que c'est de la boucle a evenement. Je ne vois pas comment un tel truc peu etre sure, ce genre de code est tres rapidement ingerable.
      • [^] # Re: Sécurité ?

        Posté par  (site web personnel) . Évalué à 2.

        Ah bon.

        Tu peux préciser ?

        Python 3 - Apprendre à programmer dans l'écosystème Python → https://www.dunod.com/EAN/9782100809141

      • [^] # Re: Sécurité ?

        Posté par  . Évalué à 5.

        Quelle jolie affirmation sans preuve, faudrait aussi regarder le code de twisted pour voir si l'asynchrone est aussi ingérable que ça.

        Franchement c'est trop gros...

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.