Home > Articles

The Apache Platform and Architecture

  • Print
  • + Share This
Nick Kew provides an overview of the Apache architecture, and its relationship to the operating system, the roles of the principal components: MPMs, APR, and modules, configuration basics, and other architectures and object information.
This chapter is from the book

Apache runs as a permanent background task: a daemon (UNIX) or service (Windows). Start-up is a slow and expensive operation, so for an operational server, it is usual for Apache to start at system boot and remain permanently up. Early versions of Apache had documented support for an inetd mode (run from a generic superserver for every incoming request), but this mode was never appropriate for operational use.

2.1 Overview

The Apache HTTP Server comprises a relatively small core, together with a number of modules (Figure 2-1). Modules may be compiled statically into the server or, more commonly, held in a /modules/ or /libexec/ directory and loaded dynamically at runtime. In addition, the server relies on the Apache Portable Runtime (APR) libraries, which provide a cross-platform operating system layer and utilities, so that modules don't have to rely on non-portable operating system calls. A special-purpose module, the Multi-Processing Module (MPM), serves to optimize Apache for the underlying operating system. The MPM should normally be the only module to access the operating system other than through the APR.

Figure 2-1

Figure 2-1 Apache architecture

  • + Share This
  • 🔖 Save To Your Account