Lighttpd

From Pulsed Media Wiki
Revision as of 08:11, 30 May 2025 by Gallogeta (talk | contribs) (Guides: Information: Pulsed Media: Linux)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Lighttpd

Lighttpd (pronounced "lighty") is a free and open-source web server known for its speed, security, flexibility, and compliance with web standards. It is designed to be lightweight and efficient, making it a popular choice for high-performance environments and embedded systems. Pulsed Media is using Lighttpd in their seedboxes to support user-friendly GUI

History

Lighttpd was initially released in March 2003 by Jan Kneschke. It was developed to address the need for a web server that could handle a large number of connections with minimal resource usage, especially for high-traffic websites.

Features

Lighttpd boasts a range of features that contribute to its efficiency and performance:

  • Low CPU and Memory Usage: Optimized for speed and minimal resource consumption.
  • FastCGI, SCGI, and CGI Support: Enables efficient execution of dynamic content through various interfaces.
  • mod_rewrite: URL rewriting engine for clean and user-friendly URLs.
  • TLS/SSL Support: Secure communication over HTTPS.
  • Authentication: Supports various authentication methods, including HTTP basic and digest authentication.
  • Server-Side Includes (SSI): For dynamically generating content on the server.
  • Virtual Hosting: Allows hosting multiple websites on a single server instance.
  • Load Balancing: Can distribute incoming requests across multiple backend servers.
  • Output Compression (mod_compress): Reduces bandwidth usage by compressing content.
  • Pipelined Requests: Improves performance by allowing multiple requests to be sent over a single connection.
  • Chroot Support: Enhances security by confining the server process to a specific directory.
  • Event-Driven Architecture: Utilizes a non-blocking I/O model for efficient handling of concurrent connections.

Use Cases

Due to its performance characteristics, Lighttpd is often used in the following scenarios:

  • High-traffic websites and web applications.
  • Embedded systems and devices with limited resources.
  • As a reverse proxy or load balancer.
  • Content delivery networks (CDNs).
  • Static file serving.

Configuration

Lighttpd's configuration is managed through a simple and clear configuration file, typically `lighttpd.conf`. The syntax is easy to understand and allows for fine-grained control over server behavior.

An example of a basic `lighttpd.conf` snippet:

 server.port = 80
 server.document-root = "/var/www/html"
 mimetype.assign = (
 ".html" => "text/html",
 ".txt" => "text/plain",
 ".jpg" => "image/jpeg",
 ".png" => "image/png"
 )
 index-file.names = ( "index.html", "index.php" )
 dir-listing.activate = "enable"

Example for FastCGI with PHP

 fastcgi.server = ( ".php" =>
 ( "localhost" =>
 (
 "socket" => "/run/php/php7.4-fpm.sock",
 "broken-log-fd" => "enable"
 )
 )
 )

Advantages

  • High Performance: Efficiently handles a large number of concurrent connections.
  • Low Resource Consumption: Ideal for systems with limited CPU and memory.
  • Security: Designed with security in mind, offering features like chroot.
  • Flexibility: Modular design allows for easy extension and customization.
  • Active Development: Continuously maintained and improved by its community.

Disadvantages

  • While very capable, it may have a steeper learning curve for users accustomed to more feature-rich (and resource-heavy) servers like Apache or Nginx.
  • Community support, while active, might be smaller compared to more widely adopted web servers.

See Also