Saturday, May 15, 2010

Top 5 Alternatives to the Apache Web Server

The Apache web server is the most popular server online, used on more than 70% of all servers connected to the World Wide Web. And there are good reasons for it: it’s free, it’s very stable, it delivers a great performance, it’s very customizable, and last, but not the least, it was one of the first web servers available when the Internet just started, so people didn’t have much of a choice back then :-).
Joking aside, Apache is an excellent all-purpose web server. But for those who need a more specialized web server that is stronger in some areas (like size, customization, serving speed, etc.), even if it falls short in others, there are, of course, alternatives to Apache.

Below are the most popular alternative web servers that can replace Apache on your server.

Lighttpd. The most popular free alternative to Apache, Lighttpd is a single-threaded web server optimized for a large number of keep-alive connections (which is what most high-traffic web sites and applications need). A lot of popular web sites use it, including Youtube, SourceForge and Wikipedia. It has FastCGI support, HTTP compression, mod-rewrite and a lot of other useful features. Despite having almost as many features as Apache, it is extremely lightweight (~1MB) and can easily server double the pages that Apache can with the same configurations.

Nginx. This is a very popular web server in the Russian online community (Runet, as they call it). It’s used by a lot of high-traffic Russian sites, the most popular being Rambler, the search engine. It is excellent for serving static pages, it’s lightweight and it’s free, but it doesn’t support fastCGI, so it’s a bit harder to get it to work with PHP and MySQL.

Microsoft IIS. A solution from the software giant, Microsoft, IIS (Internet Information Services) is a great web server, despite the many negative reviews (which often stem from the fact that it’s the most attacked server online). It is installed on over 20% (including a lot of high-traffic ones) of all sites and can serve as many pages as Apache, having the same performance. It is practically the best web server if you want full ASP.NET support (it also supports PHP), has a very advanced API and a few unique features like the integrated IIS Media Services platform, useful for smooth and reliable streaming of media files. A major drawback is that it runs only in Microsoft Windows, is not open source and is not available for other operating systems.

A lot of webmasters swear by Boa when it comes to the need for a lightweight web server for less powerful machines. This is a single-threaded HTTP server, which means that it doesn’t spawn multiple copies and child of itself when serving multiple users at once. It is a great choice for popular sites that run on a single server.

Jigsaw. This is the leading-edge web server platform from W3C (the World Wide Consortium, for those who don’t know about it). It is built on top of an advanced architecture implemented in Java and it’s packed with advanced features like the HTTP 1.1 implementation. It’s on about the same performance level as IIS and Apache if configured correctly (Java is a bit slower than other languages), and is a good choice if you want support for all the next generation features and goodies, otherwise, you may easily stick with one of the other servers on this list.

There are plenty more good alternatives for the Apache web server, so if you have a more specialized need, take a look at them, maybe you’ll find something that suits you better.