Lighttpd vs. Nginx17 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.