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 |