web servers

Apache, Nginx, Lighttpd

  • December 6, 2010
  • By Eric Geier

By Eric Geier

Here are six different web servers freely provided by the open source community for Linux, Windows, and other OSs:

Apache HTTP Server

Initially released in 1995, this is the most popular web server across the entire World Wide Web, currently used by around 60% of web domains. Its released under an Apache License, which requires preservation of the copyright notices and disclaimers, but doesn’t require modified versions to be distributed using the same license. Though most prevalent on Unix-like operating system, it also runs on Windows, Mac OS X, and others.

Common languages supported by the Apache server include Perl, Python, Tcl, and PHP. The core functionality of the server can be extended with modules to add server-side programming language support, authentication schemes, and other features. Popular authentication modules include mod_access, mod_auth, mod_digest, and mod_auth_digest. Modules are also available for SSL/TLS support (mod_ssl), proxying (mod_proxy), URL rewriting (mod_rewrite), custom logging (mod_log_config), and filtering support (mod_include and mod_ext_filter).

When searching the web you’ll find an endless slew of distributions and packages containing the Apache HTTP server along with other web applications, such as MySQL and PHP, for Linux, Windows, and other OSs. These can make it much easier to install and deploy a feature-rich web server.

Nginx

Nginx (pronounced “engine X”) is the second most popular open source web server currently on the Internet. Though development only started in 2002, its currently used by over 6% of web domains. It is a lightweight HTTP server, and can also serve as a reverse proxy and IMAP/POP3 proxy server. It’s licensed under a BSD-like license. It runs on UNIX, GNU/Linux, BSD, Mac OS X, Solaris, and Windows.

Nginx was built with performance in mind, in particular to handle ten thousand clients simultaneously. Instead of using threads to handle requests, like traditional servers, Nginx uses an event-driven (asynchronous) architecture. Its more scalable and uses less, and more predictable, amounts of memory. In addition to the basic HTTP features, Nginx also supports name-based and IP-based virtual servers, keep-alive and pipelined connections, and FLV streaming. It can also be reconfigured and upgraded online without interruption of the client processing.

Lighttpd

Lighttpd (pronounced “lighty”) is the third most popular open source web server. This lightweight server was initially released in 2003 and currently serves less than 1% of web domains. It’s licensed under a revised BSD license and runs on Unix and Linux.

Like nginux, lighttpd is a lightweight server built for performance with a goal of handling ten thousand clients simultaneously. It also uses an event-driven (asynchronous) architecture.

Cherokee

Cherokee is a full-featured web server with a user friendly configuration GUI, just released in 2010 under the GNU General Public License (GPL). It runs on Linux, Solaris, Mac OS X, and Windows.

Cherokee supports the popular technologies, such as FastCGI, SCGI, PHP, CGI, SSI, and TLS/SSL. It also features virtual host capability, authentication, load balancing, and Apache compatible log files. Plus there are some neat features, such as zero downtime updates where configuration changes can be applied with no restart required and secure downloads with temporal URL generation.

HTTP Explorer

HTTP Explorer is a web server specially designed to serve files over the HTTP protocol. It was released in 2006 under the GNU General Public License (GPL). Its available for Windows in many different languages as a full installation or binary-only.

This server makes it easy to share your photos, music, videos and other files. Using the server application, you can select folders and files to share. You can define user accounts and permissions. Shared files can be access and viewed via the web interface; no client application is required. Photos are automatically shown with thumbnails and music can be played with the integrated player.

HFS HTTP File Server

The HFS web server is for serving files, similar to HTTP Explorer but with a simpler web interface. It was released in 2009 under the GNU General Public License (GPL). It’s a single executable file that can run on 32bit-versions of Windows and in Linux with Wine.

The HFS server lets you and/or your friends easily send, receive, and remotely access files over the web. Files can be downloaded and uploaded to and from the server via the web interface, in addition to using the server application. It’s customizable and features a user account authentication, virtual file system, HTML template, bandwidth controls, logs, and a dynamic DNS updater.

Eric Geier is the founder of NoWiresSecurity, which helps businesses easily protect their Wi-Fi networks with the Enterprise mode of WPA/WPA2 encryption by offering an outsourced RADIUS service. He is also a freelance tech writer, and has authored many networking and computing books for brands like For Dummies and Cisco Press.