Choosing A Web Server For Your Website
Choosing a web server is often one of the most overlooked decisions when setting up a website. Users often spend time choosing software to run their website such as WordPress or Joomla! as well as whether to use a VPS or dedicated server to host it. However, not as much time is dedicated to which web server software will join the two together. This article looks over a few web servers and the differences between them to help you prepare for the decision.
Apache
We’ll start with the venerable Apache. Apache has been powering websites since 1995 when the project grew out of the NCSA httpd server (hence the name httpd used for Apache services in Red Hat Enterprise Linux and its derivatives). Apache swiftly became the most popular web server on the internet, a position it still holds today. Predecessors brought in the Common Gateway Interface (CGI), and Apache continued to support CGI to allow websites to move between static HTML pages and dynamic software driven websites that are common today.
Apache consists of the core web server that can be extended through loadable modules, enabling support for web elements like SSL Certificates, proxies and dynamic scripting language support for languages such as PHP and Perl. It also allows for per-directory configuration changes at runtime with .htaccess files. With all of this functionality, Apache remains the default web browser for Linux hosting servers.
Microsoft IIS
Another old hat in the internet game is Microsoft’s Internet Information Services (IIS). Originally released as a separate application, IIS has been a part of the Windows operating system since the NT4 days. As such, IIS is the default option for a web server running on Windows. Between a decline in the use of Windows for hosting environments and the use of other servers on Windows, the IIS market share has declined to third place. As with Apache, IIS has gained a modular system in recent versions where extensions can be used to add features to the core IIS server.
Nginx
The current number two web server on the market is Nginx. First released in 2004, Nginx creators aimed to build a web server to outperform Apache. To achieve this status, the server forwent features such as Apaches .htaccess method of changing the configuration on the fly for different directories. Nginx also has a slightly less flexible module system.
What resulted was, by and large, a performance benefit. Nginx can serve large numbers of static files while consuming a lot less RAM than Apache, a very helpful quality when running on a VPS.
*Note: By static files, we mean files sent to the browser that are not executed by a code interpreter. For example, images, plain HTML files, CSS files, .js files, and so on. Dynamic files are .pl or .php files that need code to be executed before the output can be served.
While Nginx can handle dynamic files, often the coding in the files has a larger impact on the server resource usage and page load times than the web server serving them. In the last four years, the market share for Nginx has doubled with estimates putting it at nearly 40% of the market, which is very close to Apache.
LiteSpeed
LiteSpeed is currently the fourth most popular web server, even though it lags quite far behind Apache and Nginx in terms of market share. It has two versions currently available, a proprietary licensed version with a monthly fee paid based on the specification of the server on which it is running (or a much larger one-off fee) and an open source edition which is free.
As with Nginx, LiteSpeed was designed with the goal of outperforming Apache. However, unlike Nginx, it can also be used as a drop-in replacement for Apache. Functionality includes integration with cPanel, Plesk and DirectAdmin. In theory, you can migrate from Apache to LiteSpeed without needing to change your configuration files. Unfortunately, full Apache compatibility (including using .htaccess files and control panel integration) is a paid version feature while the Open Source version uses its own configuration files.
LiteSpeed static file performance is similar to Nginx. However, its PHP application performance is superior and also features tools to speed up WordPress, Xenforo, Magento, MediaWiki, Drupal and Joomla!. LiteSpeed is often the fastest way to run websites based on any of those software packages, potentially saving a lot of additional resources on a VPS.
Next time you are looking to set up a new server, it may well be worth testing the web server options against each other. You may find that a bit more time during set up could save resource usage in the long run.