One thing that sets lighttpd apart from Nginx is that while Nginx natively
handles static content incredibly well, it can also require a bit more work to
get it functioning as a server for CGI content, such as websites built with
PHP. The main WordPress site (which WordPress hosts itself) uses Nginx and
is built with PHP, so this is not an insurmountable task with Nginx—and web
tutorials abound. With lighttpd, the ability to natively function as a server for
CGI content is built-in, making it quicker to install, configure, and use if this
is the sort of site you intend to host.
Configuring lighttpd is done using a system of configuration files. The syntax
is a bit different from either Apache or Nginx, but to anyone familiar with
using either, lighttpd will be easy to understand and use.
Rewrite rules are available for lighttpd, and you can do them using
conditionals and regular expressions. However, the syntax for doing this is
different and takes a little time to study and use effectively.
lighttpd has a nice website with professional documentation available.
Reading through it should give you a good sense of whether lighttpd is
suitable for a specific site.
Yaws
Yaws, which stands for Yet Another Web Server, is written in the Erlang
programming language, which is enough to make it unique and interesting for
many people. Erlang is primarily designed for and used to build scalable real-
time systems that require high availability. It is often found in telephony
applications, instant messaging, commerce, and banking, and it’s designed to
support concurrency and fault tolerance. Yaws was written from the ground
up to be scalable and multithreaded. Like newer versions of Apache, Yaws
uses threads—in this case one thread per request—to serve content. What
makes Yaws an interesting alternative is how the underlying language deals
with concurrent processes. Because it uses Erlang, Yaws should be
significantly faster, even using the same base method for serving content.
Yaws is configured using one configuration file. Virtual servers are the
standard, and the syntax of the file is familiar enough that most simple
configurations should be quick and easy to set up.
Here is where a major weakness comes in: The documentation available from
the Yaws website at the time of this writing was quite sparse, and much of it
is outdated (and is acknowledged by the site with a disclaimer). This is not
unlike earlier experiences with Nginx, which has greatly improved its official
documentation; but be warned, unless you have simple needs, you might have