lighttpd – web server

lighttpd (pronounced lighty) is a secure, fast, compliant and very flexible open source web server which has been optimized for speed-critical environments. It has a very low memory footprint compared to other web servers and takes care of cpu-load.

Its advanced feature-set (FastCGI, CGI, Auth, Output-Compression, URL-Rewriting and many more) make lighttpd a suitable web server software for every server that has load problems, or for serving static media separately from dynamic content.

lighttpd supports the FastCGI, SCGI and CGI interfaces to external programs, permitting web applications written in any programming language to be used with the server.

As a particularly popular language, PHP performance has received special attention. Lighttpd’s FastCGI can be configured to support PHP with opcode caches (like APC) properly and efficiently. Additionally, it has received attention from its popularity within the Python, Perl, Ruby and Lua communities.

lighttpd also supports WebDNA, a server-side scripting, interpreted language with an embedded database system, specifically designed for the web. It is a popular web server for the Catalyst and Ruby on Rails web frameworks.

lighttpd powers several popular Web 2.0 sites. Its high speed io-infrastructure allows them to scale several times better with the same hardware than with alternative web servers.

Features include:

  • HTTP/1.0.
  • HTTP/1.1:
    • Ranges (start-end, start-, -end, multiple ranges).
    • HTTP/1.0 Keep-Alive + HTTP/1.1 persistent Connections.
    • Methods: GET, HEAD, POST.
    • Last-Modified + If-Modified handling.
    • Sends Content-Length if possible.
    • Sends Transfer-Encoding: chunk, if Content-Length is not possible.
    • Sends Content-Type.
    • On-the-fly output compression (deflate, gzip).
    • Authentication: basic and digest.
  • HTTP.
  • CGI/1.1.
  • FastCGI:
    • Parses the Response-header and completes the HTTP-header accordingly.
    • Keep-Alive handling based on Content-Length header.
    • Can be configured to support PHP with opcode caches (like APC) properly and efficiently.
  • Load balancing FastCGI, SCGI and HTTP proxy support (one webserver distributes requests to multiple PHP-servers via FastCGI)).
  • chroot support.
  • select()-/poll()-/epoll() based web server.
  • Support for more efficient event notification schemes like kqueue and epoll.
  • Conditional rewrites (mod_rewrite).
  • TLS/SSL with SNI support, via OpenSSL.
  • Directory listings.
  • Authentication against an LDAP server.
  • RRDtool statistics.
  • Rule-based downloading with possibility of a script handling only authentication.
  • Server Side Includes support (but not server-side CGI).
  • Flexible virtual hosting.
  • Modules support.
  • Cache Meta Language (currently being replaced by mod_magnet) using the Lua programming language.
  • Minimal WebDAV support.
  • Servlet (AJP) support.
  • HTTP compression using mod_compress and the newer mod_deflate.
  • URL-Rewriting.
  • HTTP-Redirection.
  • Output-compression with transparent caching.
  • Lightweight (less than 1 MB).
  • Single-process design with only several threads. No processes or threads started per connection.
  • Custom error pages (for Response-Code 400-599).
  • PHP support:
    • Same speed as or faster than Apache + mod_php4.
    • Handles various PHP bugs in the FastCGI SAPI.
    • Includes a utility to spawn FastCGI processes.

Support: Blog
Developer: Lighttpd Developers
License: 3-clause BSD

lighttpd is written in C. Learn C with our recommended free books and free tutorials.

Return to Web Servers Home Page | Return to Lightweight Web Servers Home Page

Want to find more awesome open source software? Check out our award winning open source software directory featuring more than 20,000 open source apps.
Share this article

Share your Thoughts

This site uses Akismet to reduce spam. Learn how your comment data is processed.