Maison > Article > Opération et maintenance > 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 ;
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.
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.
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 virtuelLe 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.
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.
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 œuvreCe 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!