<-
Apache > Serveur HTTP > Documentation > Version 2.4

Modules multi-processus (MPMs)

Langues Disponibles:  de  |  en  |  es  |  fr  |  ja  |  ko  |  tr  |  zh-cn 

Ce document d�crit ce qu'est un Module Multi-Processus, ainsi que la mani�re dont ces modules sont utilis�s par le serveur HTTP Apache.

top

Introduction

La conception du serveur HTTP Apache en fait un serveur web puissant et flexible pouvant fonctionner sur une tr�s grande vari�t� de plateformes et toute une gamme d'environnements diff�rents. Plateformes diff�rentes et environnements diff�rents signifient souvent fonctionnalit�s diff�rentes, ou utilisation de diff�rentes m�thodes pour impl�menter la m�me fonctionnalit� le plus efficacement possible. Apache httpd s'est toujours accomod� d'une grande vari�t� d'environnements gr�ce � sa conception modulaire. Cette conception autorise le webmaster � choisir quelles fonctionnalit�s seront incluses dans le serveur en s�lectionnant les modules � charger soit � la compilation, soit � l'ex�cution.

Le serveur HTTP Apache 2.0 a �tendu cette conception modulaire aux fonctions les plus �l�mentaires d'un serveur web. Le serveur est fourni avec une vari�t� de Modules Multi-Processus (MPMs) qui sont responsables de l'association aux ports r�seau de la machine, acceptent les requ�tes, et se chargent de r�partir ces derni�res entre les diff�rents processus enfants.

L'extension de la conception modulaire � ce niveau du serveur comporte deux avantages importants :

Du point de vue de l'utilisateur, les MPMs ne sont pas diff�rents des autres modules Apache httpd. La principale diff�rence r�side dans le fait qu'un et un seul MPM � la fois doit �tre charg� lorsque le serveur s'ex�cute. La liste des MPMs disponibles est fournie dans l'index des modules.

top

MPM par d�faut

La table suivante fournit la liste des MPMs par d�faut pour divers syst�mes d'exploitation. Il s'agit du MPM qui sera utilis� si vous n'en sp�cifiez pas un autre � la compilation.

Netwarempm_netware
OS/2mpmt_os2
Unixprefork, worker, ou event, selon les possibilit�s de la plate-forme
Windowsmpm_winnt

Ici, 'Unix' sous-entend les syst�mes d'exploitation de type Unix, comme Linux, BSD, Solaris, Mac OS X, etc...

Dans le cas des syst�mes d'exploitation de type Unix, le choix du MPM � installer est orient� par deux questions :

1. Est-ce que le syst�me supporte les threads ?

2. Est-ce que le syst�me supporte le polling thread-safe (et en particulier les fonctions kqueue et epoll) ?

Si la r�ponse aux deux questions est 'oui', le MPM par d�faut sera event.

Si la r�ponse � la premi�re question est 'oui', et la r�ponse � la deuxi�me 'non', le MPM par d�faut sera worker.

Si la r�ponse aux deux questions est 'non', le MPM par d�faut sera prefork.

En pratique, cela signifie que le MPM par d�faut sera presque toujours event car tous les syst�mes d'exploitation modernes satisfont aux deux conditions.

top

Compiler un module MPM en tant que module statique

Les modules MPM peuvent �tre compil�s en tant que modules statiques sur toutes les plates-formes. A la compilation d'Apache, un seul module MPM doit �tre choisi pour �tre compil� et li� avec le serveur. La recompilation du serveur sera donc n�cessaire si vous souhaitez changer de module MPM.

Pour choisir un module MPM autre que le MPM par d�faut, utiliser l'argument --with-mpm=NOM du script configure. NOM est le nom du MPM d�sir�.

Une fois le serveur compil�, il est possible de savoir quel MPM a �t� choisi � l'aide de la commande ./httpd -l. Cette commande fournit la liste de tous les modules compil�s avec le serveur, y compris le MPM.

top

Compiler un module MPM en tant que module DSO (Dynamic Shared Object)

Sous Unix et les plates-formes similaires, les modules MPM peuvent �tre compil�s en tant que modules DSO et charg�s dynamiquement dans le serveur comme tout module DSO. Compiler les modules MPM en tant que modules DSO permet de changer de MPM en modifiant la directive LoadModule concern�e, sans avoir � recompiler le serveur.

LoadModule mpm_prefork_module modules/mod_mpm_prefork.so

Toute tentative de charger plusieurs modules MPM via la directive LoadModule emp�chera le serveur de d�marrer et affichera l'erreur suivante :

AH00534: httpd: Configuration error: More than one MPM loaded.

Cette fonctionnalit� est activ�e via l'option --enable-mpms-shared du script configure. Si on ajoute l'argument all, tous les modules MPM disponibles sur la plate-forme consid�r�e seront install�s. Cet argument peut aussi contenir une liste de modules MPM � installer.

Le module MPM par d�faut, s�lectionn� automatiquement ou sp�cifi� via l'option --with-mpm du script configure, sera charg� via une directive LoadModule du fichier de configuration du serveur g�n�r�. Pour choisir un autre module MPM, vous devrez donc modifier cette directive

Langues Disponibles:  de  |  en  |  es  |  fr  |  ja  |  ko  |  tr  |  zh-cn 

top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.