Lighttpd vs. Nginx

17 May 2013
At a recent Startup Weekend, I had an argument about different web servers, which came down to me being familiar with Lighttpd, and the other person being familiar with Nginx. Since I needed to rebuild my website development server, I decided to take the opportunity to evaluate both.
.htaccess files
Neither Nginx or Lighttpd support per-directory .htaccess files. This does seem like a step back from Apache, but it is also a relatively expensive feature. The trend these days is away from shared hosting, so this is not a major issue.
Configuration file complexity
Nginx seems to have a slightly more complex configuration file setup then Lighttpd, but the effort required to get things going is much the same. A non-issue once familiarity kicks in.
Nested Server-Side Includes
Both Lighttpd and Nginx support SSI, but Lighttpd out of the box does not process them recursively. This is an issue for me considering that this site uses nested SSI, at least at time of writing, and has been a reported issue for the last 7 years.
Error logs
Like Apache, Nginx allows per-virtualhost error logs as well as access logs, but Lighttpd doesn't. This is a major irritation if you happen to have multiple virtualhosts on a production system, and I suspect it may be the result of flawed architecture.
Classic CGI support
Lighttpd supports CGI, whereas Nginx does not. I still use traditional CGI on my development systems as it is substantially easier to setup than FastCGI.
FastCGI support
FastCGI is supported by both Nginx and Lighttpd, but of the two only Lighttpd handles the spawning of FastCGI helpers directly. Nginx expects this to be handled externally, which is unwelcome extra effort.
For me Lighty wins out due to CGI/FastCGI, especially for developmental purposes, but I do have concerns with some of the apparent attitudes of its developers. As a front for a single dynamic website using something like Plone or Django it hits the spot, but I get the feeling that doing anything much more adventurous might eventually run into a brick wall.