Nous mettrons à jour notre Politique de confidentialité prochainement. En voici un aperçu.

Découvrir Apache Web Server 2

Gérer le processus

Testez gratuitement nos 1336 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
Faites le tour des différentes options de multiprocessing disponibles dans Apache sous forme de modules.
06:49

Transcription

Apache, par défaut, est démarré en mode mpm multi-processing, avec des process qui ont plusieurs threads Vous avez peut-être vu dans mods_available on a aussi un module qui s'appelle mpm_prefork qui, si on va jeter un coup d'oeil dans mods_enabled n'est pas activé puisqu'on a que mpm_event Juste pour la petite histoire, mpm_prefork c'est un ajout à cette fonctionnalité de multi-processing qui permet de pré-forker, donc forker, qu'est-ce que ça veut dire ? Ça veut dire qu'un procès va pouvoir créer des forks des clones de lui-même finalement que le maître va pouvoir créer des enfants et prefork ça veut dire en prévision On va pouvoir créer un certain nombre de procès à l'avance, de façon à pouvoir supporter la charge au moment où les requêtes vont arriver. Donc c'est peut-être un module qui peut vous intéresser si vous avez un serveur avec beaucoup de charges pour l'instant on ne va pas l'utiliser on va rester comme ça. On a nos procès Vous voyez que le processus maître est démarré en root et ensuite que les processus enfant eux, par contre, ceux qui vont répondre aux requêtes sont démarrés avec un utilisateur spécial qui s'appelle www-data et qui permet aux procès qui répondent aux appels web de ne pas tourner en root ce qui va améliorer un petit peu la sécurité Vous imaginez s'il y a une faille de sécurité quelqu'un fait un appel sur une page web et le procès qui répond est en root on pourrait faire des dégâts sur la machine On va reparler de ça au passage mais concentrons-nous dans cette vidéo sur le procès lui-même, comment arrêter et démarrer un procès Apache Comme tous les processus UNIX le procès a un p id un process id, un identifiant numérique de procès le maître : c'est ici 4513 Comment est-ce qu'on trouve le p id de notre procès ? avec une commande UNIX qui s'appelle pidof comme son nom l'indique le p id de nom d'exécutable : apache2 et on voit qu'il y a 4513 il est aussi gentil de nous donner les pid de nos deux procès enfant Également, lorsque Apache2 démarre et on va le voir dans le script de démarrage, dans une seconde il va inscrire dans ici dans mon système de liens dans var run vous voyez qu'il y a un répertoire apache2 dans var run var est un répertoire qui contient des fichiers de données parfois des fichiers de configuration des fichiers de log également run est le répertoire dans lequel on trouve des fichiers qu'ont été crées pour l'exécution des process on a un répertoire qui s'appelle apache2 ici dans mon système il faut que je fasse juste cd apache2 bien sur ce que je veux dire par là c'est que selon votre distribution ça n'est peut-être pas dans un sous-répertoire c'est peut-être directement dans var run etcetera à vous de chercher Et puis ici j'ai un apache2.pid c'est simplement un fichier texte qui quand on regarde à l'intérieur avec la commande cat qui permet de voir le contenu d'un fichier texte contient le numéro du p id Simplement ce fichier est généré au démarrage du process c'est un fichier qui sert principalement à simplifier deux ou trois choses, comme un process qui démarre et qui veut vérifier que tel process n'est pas déjà démarré va regarder dans ce répertoire si ce fichier existe s'il existe ça veut dire que le process apache est démarré donc ça veut dire que si apache démarre il va créer le fichier s'il s'arrête il le supprime On peut aussi l'utiliser dans des scripts pour aller regarder le numéro du process ou vérifier que le processus est bien démarré Et puis également, quand Apache démarre il peut regarder si apache2.pid existe S'il existe ça veut dire que le processus précédent n'a pas été arrêté correctement il a peut-être été tué brusquement et il n'a pas eu l'occasion de supprimer ce fichier. C'est un bon signe aussi qu'il y a eu un arrêt intempestif et non-voulu du processus Ce pid ne vous sert pas en général beaucoup sauf dans un cas, si vous voulez tuer le processus La commande qui permet de tuer n'importe quel processus en Linux s'appelle kill donc là je le fais en sudo pour l'exécuter en super user et vous indiquez le numéro du processus éventuellement le nom du programme mais là comme on a un numéro de processus on peut simplement lui demande de faire un kill de 4513. Un kill d'un processus ça veut dire en UNIX envoyer un message à ce processus Il y a plusieurs niveaux de message On peut se les représenter de façon numérique ou bien avec le terme même du message Vous allez voir, c'est pas très compliqué Je laisse tomber pour l'instant mon kill mais je vais ré-appeler kill avec la commande l qui va me donner la liste des signaux qu'il est possible d'envoyer à l'application. Ceux qu'on utilise traditionnellement comme ça, à la main, c'est 9 et 15 9 c'est un signal de kill c'est à dire on est brutal On arrête tout de suite le processus il n'a pas le temps de s'arrêter, de faire son nettoyage etc On le vire, totalement. Et puis, plus gentil, on lui envoie le signal term de terminaison qui laisse le temps au processus de s'arrêter Si vous voulez arrêter Apache d'une façon purement UNIX c'est à dire que vous allez voir ensuite qu'on peut l'arrêter avec une commande spécifique pour Apache mais si vous utilisez le kill vous pouvez mettre -15 par exemple et vous dites, ben je vais arrêter le pid 4513 Là c'est un arret sous forme message de terminaison et puis si vous voulez l'arrêter de façon brusque, brutale parce qu'il est dans les choux par exemple eh bien vous avez un kill-9 et là c'est très brutal et Apache c'est arrêté brutalement par contre vous voyez que le pid est toujours là le fichier p id est toujours là Apache n'a pas pu le supprimer. C'est vraiment une façon de l'arrêter si vous avez un problème On va voir maintenant comment on démarre arrête, redémarre le process Apache avec les commandes dédiées qui sont beaucoup plus respectueuses

Découvrir Apache Web Server 2

Installez et démarrez Apache sur un serveur dédié, que ce soit pour vos besoins privés, ou dans un contexte d’entreprise. Voyez également le fonctionnement de ses processus.

2h00 (25 vidéos)
Aucun commentaire n´est disponible actuellement
 
Spécial abonnés
Date de parution :7 janv. 2016

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !