Apache HTTP Server

Apache HTTP Server is one of the most popular, if not the most popular web server powering the internet. The default web server included with almost all Linux distributions, Apache is fast to get running and relatively easy to configure. I have extensive experience configuring and tuning Apache for many diverse workloads, including traditional HTML sites, dynamic pages, Drupal, Wordpress and high-traffic APIs. Yes, you can run high-traffic and high-availability APIs on Apache if tuned properly.

The Linux distribution I recommend for serving Apache/MySQL/PHP workloads is Debian. Debian has the most reliable Apache configuration file management structure of any distribution I've tested, as it splits each site's configuration into its own file, which is included at runtime. The set of a2ensite/a2dissite commands or scripts enable command-line management of the configuration file includes. The primary and very important advantage of this structure is that control panel tools such as Webmin, which manipulate Apache's configuration files through a system of Perl scripts, will not affect your entire virtual server configuration. A blip, error or power loss would only affect a single virtual host file and not the entire list. Yes, this has happened to me on a Centos system and it took hours to untangle the scrambled directives in httpd.conf. However, if you're using Cpanel/WHM or a similar system which keeps its configuration in a separate database and simply generates the httpd.conf from a source, this wouldn't be an issue.