You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
157 lines
3.5 KiB
Plaintext
157 lines
3.5 KiB
Plaintext
|
|
========
|
|
lighttpd
|
|
========
|
|
|
|
-------------
|
|
a light httpd
|
|
-------------
|
|
|
|
:author: Jan Kneschke
|
|
:Date: $Date: 2004/11/03 22:25:54 $
|
|
:Revision: $Revision: 1.8 $
|
|
|
|
: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.
|
|
|
|
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/1.0 (http://www.ietf.org/rfc/rfc1945.txt)
|
|
- HTTP/1.1 (http://www.ietf.org/rfc/rfc2616.txt)
|
|
- HTTPS (provided by openssl)
|
|
- CGI/1.1 (http://CGI-Spec.Golux.Com/)
|
|
- FastCGI (http://www.fastcgi.com/devkit/doc/fcgi-spec.html)
|
|
|
|
Advanced Features
|
|
`````````````````
|
|
|
|
- load-balanced FastCGI
|
|
(one webserver distributes requests to multiple PHP-servers via FastCGI)
|
|
- custom error pages (for Response-Code 400-599)
|
|
- virtual hosts
|
|
- directory listings
|
|
- streaming CGI and FastCGI
|
|
- 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
|
|
- Solaris 8 + 9
|
|
- SGI IRIX 6.5
|
|
|
|
missing for HTTP/1.1 compliance
|
|
-------------------------------
|
|
- parsing chunked POST request
|
|
|
|
-----------------
|
|
Starting lighttpd
|
|
-----------------
|
|
|
|
As daemon in the background: ::
|
|
|
|
$ lighttpd -f <configfile>
|
|
|
|
or without detaching from the console: ::
|
|
|
|
$ lighttpd -D -f <configfile>
|
|
|
|
|