123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155 |
- ========
- lighttpd
- ========
- -------------
- a light httpd
- -------------
- :abstract:
- lighttpd a secure, fast, compliant and very flexible web-server
- which has been optimized for high-performance environments. It has a very
- low memory footprint compared to other webservers and takes care of cpu-load.
- Its advanced feature-set (FastCGI, CGI, Auth, Output-Compression,
- URL-Rewriting and many more) make lighttpd the perfect webserver-software
- for every server that is suffering load problems.
- :documentation:
- https://redmine.lighttpd.net/projects/lighttpd/wiki/
- the naming
- ----------
- lighttpd is a __httpd__ which is
- - fast as __light__ning and
- - __light__ when it comes to memory consumption and system requirements
- Features
- --------
- Network
- ```````
- - IPv4, IPv6
- Protocols
- `````````
- - HTTP/2 (https://tools.ietf.org/rfc/rfc7540.txt)
- - HTTP/1.1 (https://tools.ietf.org/rfc/rfc2616.txt)
- - HTTP/1.0 (https://tools.ietf.org/rfc/rfc1945.txt)
- - HTTPS (via one of openssl, BoringSSL, LibreSSL, mbedTLS, wolfSSL, GnuTLS, NSS)
- - CGI/1.1 (https://tools.ietf.org/html/rfc3875.txt)
- - FastCGI (http://www.fastcgi.com/devkit/doc/fcgi-spec.html)
- Advanced Features
- `````````````````
- - load-balanced FastCGI, SCGI, reverse-proxy, socket proxy, websocket tunnel
- (one webserver distributes requests to multiple PHP-servers via FastCGI)
- - streaming FastCGI, SCGI, reverse-proxy, socket proxy, websocket tunnel
- - custom error pages (for Response-Code 400-599)
- - virtual hosts
- - directory listings
- - URL-Rewriting
- - HTTP-Redirection
- - output-compression with transparent caching
- FastCGI-Support
- ```````````````
- - parses the Response-header and completes the HTTP-header accordingly
- - Keep-Alive handling based on Content-Length header
- 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 (necessary for PHP 4.3.x)
- Security features
- `````````````````
- - chroot(), set UID, set GID
- - protecting docroot
- HTTP/1.1 features
- `````````````````
- - 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://www.ietf.org/rfc/rfc2617.txt)
- HTTP/1.1 compliance
- ```````````````````
- - Sends 206 for Range Requests
- - Sends 304 for If-Modified Requests
- - Sends 400 for missing Host on HTTP/1.1 requests
- - Sends 400 for broken Request-Line
- - Sends 411 for missing Content-Length on POST requests
- - Sends 416 for "out-of-range" on Range: Header
- - Sends 501 for request-method != (GET|POST|HEAD)
- - Sends 505 for protocol != HTTP/1.0 or HTTP/1.1
- - Sends Date: on every requests
- Intended Audience
- -----------------
- - Ad-Server Front-Ends ("Banner-Schleuder")
- - delivering small files rapidly
- - php-servers under high load
- (load-balancing the php-request over multiple PHP-servers)
- Works with
- ----------
- It has been tested to work with
- - IE 6.0
- - Mozilla 1.x
- - Konqueror 3.1
- (for Keep-Alive/Persistent Connections, Accept-Encoding for PHP + gzip)
- - wget
- (for Resuming)
- - acrobat plugin
- (for multiple ranges)
- Works on
- --------
- lighttpd has been verified to compile and work on
- - Linux
- - FreeBSD
- - NetBSD
- - OpenBSD
- - Solaris 8 + 9
- - SGI IRIX 6.5
- - Windows (when compiled under cygwin)
- (and will likely compile and run on most unix-like systems with C99 compiler)
- -----------------
- Starting lighttpd
- -----------------
- As daemon in the background: ::
- $ lighttpd -f <configfile>
- or without detaching from the console: ::
- $ lighttpd -D -f <configfile>
|