Heim  >  Artikel  >  Backend-Entwicklung  >  Auf welchen Servern kann PHP bereitgestellt werden?

Auf welchen Servern kann PHP bereitgestellt werden?

青灯夜游
青灯夜游Original
2022-06-30 14:58:544206Durchsuche

php kann auf zwei Arten von Webservern bereitgestellt werden: 1. Apache, ein Open-Source-Webserver der Apache Software Foundation. Er kann auf den meisten Computerbetriebssystemen ausgeführt werden und ist aufgrund seiner Multiplattform- und Sicherheitsfunktion weit verbreitet 2. Nginx ist ein leistungsstarker HTTP- und Reverse-Proxy-Webserver und bietet auch „IMAP/POP3/SMTP“-Dienste.

Auf welchen Servern kann PHP bereitgestellt werden?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 8.1, DELL G3-Computer

Es gibt im Allgemeinen zwei häufig verwendete Webserver für PHP:

  • Apache

  • nginx

LAMP (Linux + Apache + MySQL + PHP) und LNMP (Linux + NGNIX + MySQL + PHP) sind derzeit die am häufigsten verwendeten PHP-Umgebungsarchitekturen auf Servern.

Apache-Server

Apache HTTP Server (bezeichnet als Apache) ist ein Open-Source-Webserver der Apache Software Foundation, der auf den meisten Computer-Betriebssystemen ausgeführt werden kann und aufgrund seiner Multiplattform-Funktion weit verbreitet ist security ist eine der beliebtesten webserverseitigen Software. Es ist schnell, zuverlässig und über eine einfache API erweiterbar, um Interpreter wie Perl/Python auf dem Server zu kompilieren.

Apache ist ein beliebter plattformübergreifender Open-Source-Webserver und auch der beliebteste Webserver überhaupt.

Der Apache-HTTP-Server ist ein modularer Server, der vom NCSAhttpd-Server abgeleitet ist. Nach vielen Modifikationen hat er sich zur weltweit führenden Webserver-Software entwickelt.

Es kann auf fast allen gängigen Computerplattformen ausgeführt werden.

Apache entstand aus dem NCSAhttpd-Server. Nach vielen Modifikationen hat es sich zu einer der beliebtesten Webserver-Software der Welt entwickelt. Apache leitet sich von der Aussprache von „a patchy server“ ab, was einen Server voller Patches bedeutet. Da es sich um freie Software handelt, entwickeln die Leute ständig neue Funktionen und Features und ändern die ursprünglichen Mängel. Apache zeichnet sich durch Einfachheit, hohe Geschwindigkeit, stabile Leistung aus und kann als Proxyserver verwendet werden.

Ursprünglich wurde es nur für kleine oder experimentelle Internetnetzwerke verwendet und später nach und nach auf verschiedene Unix-Systeme ausgeweitet, insbesondere die Unterstützung für Linux ist recht perfekt. Apache verfügt über eine Vielzahl von Produkten, die SSL-Technologie und mehrere virtuelle Hosts unterstützen können. Apache ist eine prozessbasierte Struktur. Prozesse verbrauchen mehr Systemaufwand als Threads und sind nicht für Umgebungen mit mehreren Prozessoren geeignet. Daher ist es beim Erweitern einer Apache-Website normalerweise erforderlich, Server hinzuzufügen oder Clusterknoten zu erweitern, anstatt den Prozessor zu erhöhen. Bisher ist Apache mit einem Marktanteil von etwa 60 % immer noch der meistgenutzte Webserver der Welt. Viele berühmte Websites auf der Welt wie Amazon, Yahoo!, W3 Consortium, Financial Times usw. sind Produkte von Apache. Sein Erfolg liegt hauptsächlich in seinem Open-Source-Code, einem offenen Entwicklungsteam und der Unterstützung plattformübergreifender Anwendungen ( It (Lauffähigkeit auf fast allen Unix-, Windows- und Linux-Systemplattformen) und seine Portabilität.

Die Geburt von Apache ist äußerst dramatisch. Als das NCSAWWW-Serverprojekt eingestellt wurde, begannen diejenigen, die den NCSAWWW-Server nutzten, Patches für den Server auszutauschen, und sie erkannten schnell die Notwendigkeit eines Forums zur Verwaltung dieser Patches. Auf diese Weise entstand die Apache Group, die später Apache auf Basis von NCSA erstellte.

Apache-Webserversoftware verfügt über die folgenden Funktionen:

1. Unterstützt das neueste HTTP/1.1-Kommunikationsprotokoll

2. Verfügt über einen einfachen und leistungsstarken dateibasierten Konfigurationsprozess

3. Unterstützt die universelle Gateway-Schnittstelle

. Unterstützen Sie IP-basierte und domänenbasierte virtuelle Hosts

6. Integrieren Sie das Perl-Verarbeitungsmodul

8 und angepasste Serverprotokolle

10. Unterstützung von Secure Socket Layer (SSL)

12. Unterstützung von FastCGI

13 durch Module von Drittanbietern

Wenn Sie bereit sind, sich für einen Webserver zu entscheiden, ist Apache zweifellos die beste Wahl.

nginx-Server

Nginx (Engine x) ist ein leistungsstarker HTTP- und Reverse-Proxy-Webserver und bietet auch IMAP/POP3/SMTP-Dienste. Nginx wurde von Igor Sesoev für die Website Rambler.ru (russisch: Рамблер) entwickelt, die am zweithäufigsten besuchte Website in Russland. Die öffentliche Version 1.19.6 wurde am 15. Dezember 2020 veröffentlicht.

Es veröffentlicht Quellcode unter einer BSD-ähnlichen Lizenz und ist für seine Stabilität, seinen umfangreichen Funktionsumfang, seine einfachen Konfigurationsdateien und seinen geringen Systemressourcenverbrauch bekannt. Am 25. Januar 2022 wurde Nginx 1.21.6 veröffentlicht. Nginx ist ein leichter Webserver/Reverse-Proxy-Server und E-Mail-Proxyserver (IMAP/POP3), veröffentlicht unter dem BSD-ähnlichen Protokoll. Seine Merkmale sind, dass es weniger Speicher belegt und über starke Parallelitätsfähigkeiten verfügt. Tatsächlich sind die Parallelitätsfähigkeiten von Nginx unter Webservern desselben Typs besser.

Nginx kann auf den meisten Unix-Linux-Betriebssystemen kompiliert und ausgeführt werden, und es gibt eine Windows-portierte Version. Die stabile Version 1.20.0 von Nginx wurde am 20. April 2021 veröffentlicht. Unter normalen Umständen wird für neue Websites empfohlen, die neueste stabile Version als Produktionsversion zu verwenden. Die Dringlichkeit der Aktualisierung bestehender Websites ist nicht hoch. Der Quellcode von Nginx verwendet eine BSD-ähnliche Lizenz mit zwei Klauseln.

Nginx ist ein sehr leistungsstarker, leistungsstarker Web- und Reverse-Proxy-Dienst. Er verfügt über viele sehr überlegene Funktionen:

Bei hoher Parallelität von Verbindungen ist Nginx ein guter Ersatz für den Apache-Dienst: Nginx ist ein Virtualisierungsdienst die Vereinigten Staaten Eine der Softwareplattformen, die häufig von Host-Geschäftsinhabern ausgewählt wird. Kann Antworten von bis zu 50.000 gleichzeitigen Verbindungen unterstützen. Vielen Dank an Nginx für die Wahl von epoll und kqueue als Entwicklungsmodell.

Was ist der Unterschied zwischen Apache und Nginx:

1. Der Hauptunterschied zwischen den beiden besteht darin, dass Apache ein synchrones Multiprozessmodell ist. Eine Verbindung entspricht einem Prozess entsprechen einem Prozess. Nginx verarbeitet statische Dateien gut und verbraucht weniger Speicher. Es besteht jedoch kein Zweifel daran, dass Apache immer noch der aktuelle Mainstream ist und über viele umfangreiche Funktionen verfügt und daher noch angepasst werden muss. Wenn festgestellt wird, dass Nginx die Anforderungen erfüllt, ist die Verwendung von Nginx natürlich die wirtschaftlichere Möglichkeit.

2. Die Ladekapazität von Nginx ist viel höher als die von Apache. Der neueste Server verwendet auch Nginx. Und nachdem Sie die Konfiguration von Nginx geändert haben, können Sie mit -t testen, ob ein Problem mit der Konfiguration vorliegt.

3. Wenn Apache neu gestartet wird und festgestellt wird, dass die Konfiguration falsch ist, werde ich beim Vornehmen von Änderungen sehr vorsichtig sein. Jetzt sehe ich, dass es viele Cluster-Sites gibt, die Front-End-Nginx-Anti-Parallelität. und dem Back-End-Apache-Cluster ist die Zusammenarbeit ebenfalls gut.

4. Für die Verarbeitung dynamischer Anforderungen ist Nginx nutzlos. Im Allgemeinen ist Apache für die Verarbeitung dynamischer Anforderungen erforderlich, und Nginx ist nur für statische und umgekehrte Anforderungen geeignet.

5. Erfahrungsgemäß ist Nginx ein sehr guter Front-End-Server mit guter Ladeleistung. Mit Nginx ist es mühelos möglich, 10.000 statische Dateianfragen zu simulieren. Apache verfügt über eine gute Unterstützung für Sprachen wie PHP. Darüber hinaus verfügt Apache über eine längere Entwicklung als Nginx und weist weniger Fehler auf. Allerdings hat Apache keine Unterstützung für Multi-Core-Verarbeitungslasten . Es wird empfohlen, Nginx für das Front-End und das Backend zu verwenden. Für große Websites empfiehlt sich die Nutzung der Cluster-Funktion von Nginx.

6. In den meisten Fällen ist Nginx besser als APACHE, z. B. statische Dateiverarbeitung, PHP-CGI-Unterstützung, Reverse-Proxy-Funktion, Front-End-Cache, Verbindungswartung usw. Wenn im Apache+PHP-Modus (Prefork) die PHP-Verarbeitung langsam ist oder der Front-End-Druck hoch ist, kann es leicht zu einem Anstieg der Anzahl der Apache-Prozesse kommen, was zu einem Denial-of-Service führt.

7. Apache hat Vorteile bei der Verarbeitungsdynamik und hat eine bessere Parallelität und eine geringere CPU-Speicherauslastung.

8. Verwenden Sie im Allgemeinen Nginx für Webdienste, die Leistung erfordern. Wenn Sie keine Leistung benötigen und nur Stabilität wollen, dann verwenden Sie Apache.

Empfohlenes Lernen: „PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonAuf welchen Servern kann PHP bereitgestellt werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn