prefork
Implementa un servidor web pre-forking y no hebrado
MPM
prefork.c
mpm_prefork_module

Este Módulo de MultiProcesamiento (MPM) implementa un servidor web pre-forking y no hebrado que trata las peticiones de una manera similar a como lo hacía Apache 1.3. Esto es apropiado para sitios web que necesitan evitar el hebrado para ser compatibles con librerías que no son seguras cuado se usan hebras. Es también el mejor MPM para aislar cada petición, de manera que si suge un problema con una petición, esto no afecte al resto.

Este MPM está muy autorregulado, de manera que muy pocas veces es necesario ajustar los valores de sus directivas de configuración. El valor que se fije en la directiva MaxClients debe ser lo suficientemente grande para tratar tantas peticiones simultáneas como espere recibir su sitio web, pero lo suficientemente pequeño para asegurarse de que hay memoria RAM suficiente para todos los procesos.

Especificar las direcciones y los puertos que usa Apache

# Cómo funciona

Un solo proceso de control es el responsable de lanzar los procesos hijo que escuchan las peticiones que se puedan producir y las sirven cuando llegan. Apache siempre intenta mantener varios procesos de sobra o en espera, que estén disponibles para servir peticiones cuando lleguen. Así, los clientes no tienen que esperar a que un nuevo proceso hijo sea creado para ser atendidos.

Las directivas StartServers, MinSpareServers, MaxSpareServers, y MaxClients regulan la forma en que el proceso padre crea hijos para servir peticiones. En general, Apache funciona bien sin hacer muchas modificaciones en los valores por defecto de estas directivas, de manera que la mayor parte de los sitios web no necesitan ajustar esas directivas a valores diferentes. Los sitios web que necesiten servir más de 256 peticiones simultáneas pueden necesitar incrementar el valor de MaxClients, mientras que los sitios web con memoria limitada pueden necesitar decrementar MaxClients para evitar que el rendimiento del servidor se degrade (pasando los contenidos de memoria al disco y de vuelta a memoria). Puede obtener más información sobre como mejorar el rendimiento del proceso de creación de procesos en la documentación sobre mejora del rendimiento.

El proceso padre de Apache se inicia normalmente como usuario `root` en Unix para que escuche en el puerto 80, sin embargo, los procesos hijo se crean con menores privilegios de usuario. Las directivas User y Group se usan para determinar los privilegios de los procesos hijo de Apache. Los procesos hijo deben ser capaces de leer todos los contenidos que van a servir, pero deben tener los menores privilegios posibles.

La directiva MaxRequestsPerChild controla cómo el servidor recicla frecuentemente los procesos eliminando los antiguos y creando nuevos.

BS2000Account
CoreDumpDirectory
EnableExceptionHook
PidFile
Listen
ListenBacklog
LockFile
MaxClients
MaxMemFree
MaxRequestsPerChild
ScoreBoardFile
SendBufferSize
ServerLimit
StartServers
User
Group
AcceptMutex
MaxSpareServers
Número máximo de procesos hijo en espera que puede tener el servdor
MaxSpareServers number
MaxSpareServers 10
server config

La directiva MaxSpareServers determina el número máximo de procesos hijo en espera deseado. Un proceso en espera es aquel que no está atendiendo ninguna petición. Si hay más de MaxSpareServers procesos hijo en espera, entonces el proceso padre elimina el exceso.

Ajustar este parámetro debe ser necesario solo en sitios web con muchas visitas. Fijar un valor alto para este parámetro es una mala idea casi siempre. Si fija un valor por debajo de MinSpareServers, Apache ajustará automáticamente el valor a MinSpareServers`+ 1`.

MinSpareServers
StartServers
MinSpareServers
Número mínimo de procesos hijo en espera
MinSpareServers number
MinSpareServers 5
server config

La directiva MinSpareServers fija el número mínimo de procesos hijo en espera. Un proceso en espera es aquel que no está atendiendo ninguna petición. Si hay menos procesos hijo en espera que MinSpareServers, entonces el proceso padre crea nuevos procesos hijo a un ritmo máximo de uno por segundo.

Ajustar este parámetro debe ser necesario solo en sitios web con muchas visitas. Fijar un valor alto para este parámetro es una mala idea casi siempre.

MaxSpareServers
StartServers