Funktionsmerkmale von Apache
Hochmodular > )Apache unterstützt mehr Funktionen In Form der Modularisierung kann das Hinzufügen und Entfernen verschiedener Funktionen durch Laden und Entladen von Modulen erfolgen. Stellt das Kern+Module-Modell dar;
ist eine Funktion, die dem Hot-Swapping ähnelt Dienst ohne Neustart Module laden und entladen und wirksam machen.
Apache kann drei (Verarbeitungs-)Arbeitsmodi haben:
Prefork- --Multiprozess-E/A-Modell, ein Prozess verarbeitet eine Anfrage, ist der Standardarbeitsmodus von Apache
In diesem Arbeitsmodus gibt es einen Hauptprozess und mehrere Unterprozesse und diese Unterprozesse werden im Hauptprozess erzeugt und recycelt. Der Hauptprozess ist für die Generierung von Sockets und die Verwaltung von Unterprozessen verantwortlich, ist jedoch nicht für die Verarbeitung von Anforderungen verantwortlich. Der Hauptprozess wird als Root ausgeführt.
Der Unterprozess ist dort die eigentliche Rolle Zu Beginn gibt es mehrere inaktive Unterprozesse. Ein Prozess wartet auf die Verarbeitung einer Anforderung, eine Anforderung wird von einem untergeordneten Prozess verarbeitet und der untergeordnete Prozess wird vom Apache-Benutzer ausgeführt.
Worker ---- Mehrprozess-E/A-Modell wiederverwenden
In diesem Arbeitsmodus gibt es einen Hauptprozess, und der Hauptprozess ist Der Prozess ist auch für die Verwaltung von Unterprozessen verantwortlich. Der Hauptprozess generiert mehrere Threads, vorausgesetzt, die Anzahl der Unterprozesse ist gleich M und die Anzahl der Threads jedes Unterprozesses beträgt N. In diesem Arbeitsmodus können M * N Anforderungen gleichzeitig verarbeitet werden. Dieser Modus benötigt weniger Speicher und wird hauptsächlich für große Websites verwendet.
Ereignis und Worker funktionieren ähnlich, beide verarbeiten M*N-Anfragen gleichzeitig. Die Verbesserung durch das Ereignis besteht jedoch darin, dass die Threads in jedem Unterprozess detaillierter unterteilt sind, einschließlich Verwaltungs-Threads und Service-Threads. Warum ist es so konzipiert?
Wir wissen, dass die HTTP1.1-Version standardmäßig auf dauerhafte Verbindungserhaltung setzt. Wenn eine Verbindung hergestellt, aber keine Anfrage gesendet wird, wird die Bandbreite dieser Verbindung bis zum angegebenen Zeitpunkt belegt und daher nicht freigegeben. Es wurde ein Managementprozess hinzugefügt, um den Keepalive-Typ speziell zu überwachen. Wenn eine echte Anfrage auftritt, überträgt der Management-Thread die Anfrage zur Verarbeitung an den Service-Thread Service-Thread. Erhöhte Bandbreitennutzung.
4. Virtueller HostWenn ein so geringer Traffic mit einem dedizierten Server aufgebaut wird, lohnt es sich wirklich nicht Ich kam auf die Idee, mehrere Websites auf einem Server zu erstellen, um den Ressourcenverbrauch zu reduzieren.
Ein Server erstellt mehrere Websites. Jede Website entspricht einem anderen Domänennamen. Wenn ein externer Client darauf zugreifen möchte, löst DNS die Domänennamen dieser verschiedenen Websites auf denselben Server auf, und der Server löst die auf Domänennamen dieser verschiedenen Websites werden gemäß dem Header der HTTP-Anfrage an denselben Server weitergeleitet. Die Domänennameninformationen in der Zeile leiten die Anforderung an die entsprechende Verzeichnisressource weiter.
Tipps: Der Unterschied zwischen einem virtuellen Host und einer virtuellen Maschine-> Ein virtueller Host ist eine Funktion der Bereitstellung mehrerer Websites auf einem Host. Die Hosts, die so viele Websites unterstützen, führen dasselbe Betriebssystem aus ; Eine virtuelle Maschine ist ein System, das mehrere Hosts über VMware, LVM und andere Technologien virtualisiert. Diese virtuellen Hosts können verschiedene Betriebssysteme ausführen.
unterstützt dynamische Webseiten. Es wird sehr unklar sein, dies zu sagen. Lassen Sie uns zunächst darüber sprechen, was ein Gateway ist, über das Hosts in zwei Netzwerksegmenten kommunizieren Sobald Hosts in verschiedenen Netzwerksegmenten kommunizieren, müssen die Daten zur Kommunikation zuerst an das Gateway übergeben werden, und dann kann das Gateway sie an ein anderes Netzwerksegment übertragen.
In ähnlicher Weise kann der Webserver bei CGI nur statische Seiten senden. Wenn der Server eine Dateianforderung wie index.php empfängt, kann der Server keine index.php senden.
Da es sich um eine dynamische Datei handelt, verarbeitet CGI index.php in ein vorgeschriebenes Datenformat und übergibt sie dann zur Ausführung an den PHP-Interpreter. Anschließend werden die ausgeführten Daten von CGI verarbeitet und schließlich Ergebnisse werden vom Server an den Client gesendet. Das CGI dient hier als Konvertierungsschnittstelle zwischen statischen Anfragen und dynamischen Anfragen.
7. Lastausgleich kann erreicht werden
8. Unterstützen Sie Pfadaliase
Um zu verhindern, dass Benutzer das tatsächliche Verzeichnis der Serverressourcen kennen, können Sie einen Alias für das Verzeichnis erstellen. Benutzer müssen nur den Alias kennen, und der Alias wird automatisch aufgerufen das eigentliche Verzeichnis.
9. Sicherheitsauthentifizierungsmechanismus kann implementiert werdenDas obige ist der detaillierte Inhalt vonWas sind die Funktionen von Apache?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!