Chapter 1. Introduction
This chapter gives an overview of the architecture of Apache, how to obtain the software, starting and stopping the server, and the basics of configuration files.
Architectural Overview
Apache is normally run as a system daemon or service, with a parent process or thread supervising a number of child processes or threads that perform the request processing. Apart from certain core features, most functionality is implemented by modules, which may be either statically linked into the server or dynamically loaded on startup.
Operating systems vary in how they implement features such as networking and multiprocessing. Apache version 2.0 introduced MultiProcessing Modules (MPMs) to provide networking and scheduling models tailored to particular operating systems and usage patterns, as listed in Table 1-1. MPMs use the native features of the operating system and provide scheduling using processes, threads, or a mix of the two. Apache uses only a single MPM at any time, and it must be statically compiled into the server.
Module | Description |
beos | Mutithreaded MPM for the BeOS operating system |
event | Experimental variant of the worker MPM |
mpm_netware | Threaded MPM for Novell Netware |
mpm_winnt | Twin process, multithreaded MPM for Windows |
mpmt_os2 | Hybrid multiprocess, multithreaded MPM for O/S2 |
prefork | Traditional nonthreaded, preforking MPM |
worker | Hybrid multiprocess, multithreaded MPM |
The MPMs, other modules, and the core web server build upon the Apache ...