lighttpd
Original author(s) | Jan Kneschke |
---|---|
Developer(s) | Lighttpd Developers |
Initial release | March 2003 |
Stable release | 1.4.43 (October 31, 2016 ) [±][1] |
Preview release | 2.0 (December 4, 2015 ) [±] |
Repository |
git |
Written in | C |
Operating system | Cross-platform |
Available in | English |
Type | Web server |
License | 3-clause BSD |
Website |
www |
lighttpd (pronounced "lighty")[2] is an open-source web server optimized for speed-critical environments while remaining standards-compliant, secure and flexible. It was originally written by Jan Kneschke as a proof-of-concept of the c10k problem – how to handle 10,000 connections in parallel on one server,[3] but has gained worldwide popularity.[4]
Premise
The low memory footprint (compared to other web servers),[5] small CPU load and speed optimizations[6] make lighttpd suitable for servers that are suffering load problems, or for serving static media separately from dynamic content. lighttpd is free software/open source, and is distributed under the BSD license. It runs natively on Unix-like operating systems as well as Microsoft Windows.[7]
Application support
lighttpd supports the FastCGI, SCGI and CGI interfaces to external programs, allowing 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, the resilient in-memory database system designed to build database-driven websites. It is a popular web server for the Catalyst and Ruby on Rails web frameworks. Lighttpd does not support ISAPI.
Features
- Load balancing FastCGI, SCGI and HTTP proxy support
-
chroot
support - web server event mechanism performance –
select()
,poll()
, andepoll()
[8] - Support for more efficient event notification schemes like
kqueue
andepoll
- Conditional URL rewriting (mod_rewrite)
- TLS/SSL with SNI support, via OpenSSL.
- 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)[9]
- Flexible virtual hosting
- Modules support
- Cache Meta Language (currently being replaced by mod_magnet)[10] using the Lua programming language
- Minimal WebDAV support
- Servlet (AJP) support (in versions 1.5.x and up)
- HTTP compression using mod_compress and the newer mod_deflate (1.5.x)
- Light-weight (less than 1 MB)[11]
- Single-process design with only several threads. No processes or threads started per connection.
Limitations
- Versions below 1.4.40 do not officially support sending large files from CGI, FastCGI, or proxies[12] unless X-Sendfile is used. This limitation has been removed in lighttpd 1.4.40.[13]
- No SPDY or HTTP/2 support
Usage
Lighttpd is used by a number of high-traffic websites, among them are Bloglines and Xkcd.[14] It was used in the past by Meebo and YouTube.[15] Wikimedia also runs Lighttpd servers.[16][17][18][19]
See also
- Comparison of web server software
- Internet Cache Protocol
- Proxy server which discusses client-side proxies
- Reverse proxy which discusses origin-side proxies
- Traffic Server
- Web accelerator which discusses host-based HTTP acceleration
References
- ↑ "1.4.43". 2016-10-31. Retrieved 2016-10-31.
- ↑ "lighttpd fly light". Retrieved 2010-06-13.
all of these describe lighttpd (pron. lighty)
- ↑ "lighttpd: Story". lighttpd.net. Retrieved 22 December 2008.
- ↑ "Powered By lighttpd". Lighttpd wiki. Retrieved 22 December 2008.
- ↑ "Web Server Performance Comparison". Retrieved 15 March 2012.
- ↑ Gabriel Kerneis and Juliusz Chroboczek. Are events fast?. PPS technical report, University of Paris 7. 2009. http://www.pps.jussieu.fr/~jch/research/cpc-bench.pdf
- ↑ "Downloads @ WLMP Project". Retrieved 2011-03-27.
LightTPD webserver for Windows Systems
- ↑ Gammo, Louay; Brecht, Tim; Shukla, Amol; Pariag, David (2004). "Comparing and Evaluating epoll, select, and poll Event Mechanisms". Linux Symposium. University of Waterloo. p. 215.
- ↑ Lighttpd - Bug #1101: SSI include virtual does not run cgi – lighty labs
- ↑ http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ModMagnet
- ↑ "lighttpd releases". lighttpd.net. Retrieved 20 June 2010.
- ↑ "Memory usage increases when proxy+ssl+large file". lighttpd bug tracker. Retrieved 2011-04-11.
- ↑ "lighty should buffer responses (after it grows above certain size) on disk". lighttpd bug tracker. Retrieved 2016-07-16.
- ↑ "Lighttpd Web Server Usage". WebTechster. Retrieved 2014-03-26.
- ↑ "Fly Light With Lighttpd Web Server". ServerWatch. Archived from the original on 31 March 2014. Retrieved 2008-02-12.
- ↑ Brion Vibber (2008-08-26). "Apache mod_php in wikipedia". Wikimedia wikitech-l mailing list. Retrieved 2008-08-27.
- ↑ Tim Starling (2008-08-27). "Apache mod_php in wikipedia". Wikimedia wikitech-l mailing list. Retrieved 2008-08-27.
- ↑ Domas Mitzuas (2008-08-27). "Apache mod_php in wikipedia". Wikimedia wikitech-l mailing list. Retrieved 2008-08-27.
- ↑ "Powered by Lighttpd". The official site. 2007-04-04. Retrieved 2008-12-22.
lighttpd is used by many well-known sites. The typical scenario is using lighttpd as off-load server to push out static content and leave the complex work to another server.
Bibliography
- Bogus, Andre (October 29, 2008). Lighttpd (1st ed.). Packt Publishing. p. 236. ISBN 978-1847192103.
External links
- Official website
- "lighttpd". Freecode.
- OpenVMS Lighttpd project
- #lighttpd connect on freenode
- Complete guide to set up your server with Lighttpd, PHP5, MySQL, e-mail, firewall etc.
- Older Lighttpd for Windows builds
WLMP
- Lighty2Go Portable LightTPD, MySQL & PHP (LiMP) Project
- yPortableWS Portable WLMP Project (requires .NET Framework)
- WLMP Project - lighttpd builds for Windows