Maison  >  Article  >  Opération et maintenance  >  Quelles sont les fonctionnalités d’Apache ?

Quelles sont les fonctionnalités d’Apache ?

(*-*)浩
(*-*)浩original
2019-11-23 16:45:555252parcourir

Quelles sont les fonctionnalités d’Apache ?

Caractéristiques fonctionnelles d'Apache

1. Hautement modulaire                                                                                                        > )Apache prend en charge davantage de fonctions sous forme de modularisation. L'ajout et la suppression de différentes fonctions peuvent être complétés par le chargement et le déchargement de modules. Semblable à la modularisation du noyau Linux, le pilote du noyau peut être chargé et déchargé. Constitue le modèle core+modules ;


2. Prend en charge le chargement et le déchargement dynamiques des modules

est une fonction similaire au remplacement à chaud, qui peut réaliser le service sans redémarrage Chargez et déchargez les modules et rendez-les efficaces.


3. Prise en charge du module multi-traitement MPM

Apache peut avoir trois modes de fonctionnement (de traitement), qui sont :

prefork- --Modèle d'E/S multi-processus, un processus gère une requête, est le mode de travail par défaut d'Apache

Dans ce mode de fonctionnement, il existe un processus principal et plusieurs sous-processus, et ces sous-processus sont générés et recyclés par le processus principal. Le processus principal est responsable de la génération des sockets et de la gestion des sous-processus, mais n'est pas responsable du traitement des demandes. Le processus principal est exécuté en tant que root

Le sous-processus est le véritable rôle responsable du traitement des demandes. Il y aura plusieurs sous-processus inactifs au début. Un processus attend qu'une demande soit traitée, une demande est traitée par un processus enfant et le processus enfant est exécuté par l'utilisateur Apache.

worker ----réutilisation du modèle d'E/S multi-processus


Dans ce mode de fonctionnement, il existe un processus principal, et le processus principal est également responsable de la gestion des sous-processus. Le processus ne traite pas les demandes. Le processus principal génère plusieurs sous-processus, et chaque sous-processus génère plusieurs threads. Un thread gère une demande de cette manière, en supposant que le nombre de sous-processus est égal. M et le nombre de threads de chaque sous-processus est N, ce mode de fonctionnement M*N requêtes peuvent être traitées simultanément. Ce mode consomme moins de mémoire et est principalement utilisé pour les grands sites Web.

événement -----Modèle basé sur les événements


L'événement et le travailleur fonctionnent de la même manière, les deux traitent les demandes M*N simultanément. Mais l'amélioration apportée par l'événement est que les threads de chaque sous-processus sont divisés plus en détail, y compris les threads de gestion et les threads de service. Pourquoi est-il conçu comme ça ?

Nous savons que la version HTTP1.1 est par défaut une connexion persistante. Si une connexion est établie mais qu'aucune demande n'est envoyée, la bande passante de cette connexion sera occupée jusqu'à l'heure spécifiée et ne sera donc pas libérée. un processus de gestion a été ajouté pour surveiller spécifiquement keepalive. Type de thread de service, lorsqu'une requête réelle se produit, le thread de gestion transfère la demande au thread de service pour traitement. Une fois le traitement terminé, le thread de gestion libère les ressources du thread de gestion. fil de service. Utilisation accrue de la bande passante.

4. Hôte virtuel

Le trafic de certains sites Web est pitoyablement faible. Si un trafic aussi faible est construit avec un serveur dédié, cela n'en vaut vraiment pas la peine. , j'ai pensé à créer plusieurs sites Web sur un seul serveur et plusieurs sites Web partageant un serveur pour réduire la consommation de ressources. Cette fonction est appelée fonction d'hôte virtuel.

Un serveur construit plusieurs sites Web, chaque site Web correspond à un nom de domaine différent. Lorsqu'un client externe souhaite y accéder, DNS résoudra les noms de domaine de ces différents sites Web sur le même serveur, et le serveur résoudra le problème. les noms de domaine de ces différents sites Web vers le même serveur selon l'en-tête de la requête HTTP. Les informations sur le nom de domaine dans la ligne transmettront la requête à la ressource d'annuaire correspondante.


Conseils : La différence entre un hôte virtuel et une machine virtuelle -> Un hôte virtuel est la fonction de déployer plusieurs sites Web sur un seul hôte. Les hôtes qui prennent en charge autant de sites Web exécutent le même système d'exploitation. ; Une machine virtuelle est un système qui virtualise plusieurs hôtes via VMware, LVM et d'autres technologies. Ces hôtes virtuels peuvent exécuter différents systèmes d'exploitation.

5. L'interface de passerelle universelle CGI

prend en charge les pages Web dynamiques. Il sera très obscur de dire cela. Parlons d'abord de ce qu'est une passerelle. Une passerelle est l'interface par laquelle les hôtes de deux segments de réseau communiquent. , une fois que les hôtes de différents segments de réseau communiquent, pour communiquer, les données doivent d'abord être transmises à la passerelle, puis la passerelle peut les transférer vers un autre segment de réseau.

De même, en regardant CGI, le serveur Web ne peut envoyer que des pages statiques. Lorsque le serveur reçoit une demande de fichier telle que index.php, le serveur ne peut pas envoyer index.php.

Comme il s'agit d'un fichier dynamique, CGI traitera index.php dans un format de données prescrit, puis le remettra à l'interpréteur PHP pour exécution. Ensuite, les données exécutées seront traitées par CGI, et enfin The. les résultats sont envoyés du serveur au client. Le CGI sert ici d'interface de conversion entre les requêtes statiques et les requêtes dynamiques.


6. Prise en charge du proxy inverse

7. L'équilibrage de charge peut être atteint

8. Alias ​​de chemin de prise en charge

Afin d'empêcher les utilisateurs de connaître le véritable répertoire des ressources du serveur, vous pouvez créer un alias pour le répertoire. Les utilisateurs n'ont besoin que de connaître l'alias, et l'alias y accédera automatiquement. le vrai répertoire.

9. Un mécanisme d'authentification de sécurité peut être mis en œuvre

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn