We prepared this tutorial for those currently running the Apache webserver and who plan to upgrade it to the latest 2.4 series, as there are important differences between the Apache 2.4 series and the previous series, so the migration process is as smooth as possible.
Before going into the details of how to compile and how to configure Apache 2.4, there is one major difference between Apache 2.4 and previous versions that you must know.
Previous versions of Apache used the “prefork” multi-processing module (MPM) by default. This engine creates an individual process for each connection. So, if there are 500 connections going on at your webserver, you should see 500 httpd processes running.
Apache 2.4, on the other hand, uses the “event” multi-processing module by default. This engine creates only a few processes, with each process handling several connections (up to 25, by default). Because of this, you will see far less httpd processes running. For example, with 500 connections going on at your webserver, you should see only 20 httpd processes running (500 / 25). Therefore, this new engine makes Apache use less memory (RAM).
Of course, you can still compile Apache 2.4 to use the “old” “prefork” multi-processing module. But if you don’t provide any additional parameters during compilation time, it will use the “event” engine and you will need to make some adjustments to your configuration file (httpd.conf). We will explain those later.
Let’s now see how to compile Apache 2.4.