Versi贸n 2.0 del Servidor HTTP Apache

Este documento explica que son los M贸dulos de Multiprocesamiento y como los usa Apache.
Apache est谩 dise帽ado para ser un servidor web potente y flexible que pueda funcionar en la m谩s amplia variedad de plataformas y entornos. Las diferentes plataformas y los diferentes entornos, hacen que a menudo sean necesarias diferentes caracter铆sticas o funcionalidades, o que una misma caracter铆stica o funcionalidad sea implementada de diferente manera para obtener una mayor eficiencia. Apache se ha adaptado siempre a una gran variedad de entornos a trav茅s de su dise帽o modular. Este dise帽o permite a los administradores de sitios web elegir que funcionalidades van a ser incluidas en el servidor seleccionando que m贸dulos se van a usar, ya sea al compilar o al ejecutar el servidor.
Apache 2.0 extiende este dise帽o modular hasta las funcionalidades m谩s b谩sicas de un servidor web. El servidor viene con una serie de M贸dulos de MultiProcesamiento que son los responsables de conectar con los puertos de red de la m谩quina, acceptar las peticiones, y generar los procesos hijo que se encargan de servirlas.
La extensi贸n del dise帽o modular a este nivel del servidor ofrece dos beneficios importantes:
mpm_winnt
puede usar funcionalidades nativas de red en lugar de usar la
capa POSIX como hace Apache 1.3. Este beneficio se extiende
tambi茅n a otros sistemas operativos que implementan sus
respectivos MPMs.worker, mientras que los sitios web que
requieran por encima de otras cosas estabilidad o compatibilidad
con software antiguo pueden usar
prefork. Adem谩s, se pueden configurar
funcionalidades especiales como servir diferentes hosts con
diferentes identificadores de usuario
(perchild).A nivel de usuario, los m贸dulos de multiprocesamiento (MPMs) son como cualquier otro m贸dulo de Apache. La diferencia m谩s importante es que solo un MPM puede estar cargado en el servidor en un determinado momento. La lista de MPMs disponibles est谩 en la secci贸n de 铆ndice de m贸dulos.
Los m贸dulos de multiprocesamiento que se van a usar posteriormente deben elegirse durante el proceso de configuraci贸n, y deben ser compilados en el servidor. Los compiladores son capaces de optimizar muchas funciones si se usan hebras, pero solo si se sabe que se est谩n usando hebras.
Para elegir el m贸dulo de multiprocesamiento deseado, use
el argumento --with-mpm= NAME con el script
configure. NAME es el nombre del MPM
deseado.
Una vez que el servidor ha sido compilado, es posible
determinar que m贸dulos de multiprocesamiento ha sido elegido
usando ./httpd -l. Este comando lista todos los
m贸dulos compilados en el servidor, incluido en MPM.
En la siguiente tabla se muestran los m贸dulos de multiprocesamiento por defecto para varios sistemas operativos. Estos ser谩n los m贸dulos de multiprocesamiento seleccionados si no se especifica lo contrario al compilar.
| BeOS | beos |
| Netware | mpm_netware |
| OS/2 | mpmt_os2 |
| Unix | prefork |
| Windows | mpm_winnt |