Python - Webserver
Python ist vielseitig genug, um viele Arten von Anwendungen und Programmen zu erstellen, die das Internet oder andere Computernetzwerke steuern. Ein wichtiger Aspekt des Internets sind die Webserver, die dem Client-Server-Modell zugrunde liegen. In diesem Kapitel werden wir einige Webserver sehen, die mit reiner Python-Sprache erstellt wurden.
Gunicorn
Gunicorn ist ein eigenständiger Webserver mit einem zentralen Master-Prozess, der mit der Verwaltung der initiierten Worker-Prozesse unterschiedlicher Typen beauftragt ist. Diese Arbeitsprozesse bearbeiten und bearbeiten die Anforderungen dann direkt. All dies kann konfiguriert und an die unterschiedlichen Anforderungen von Produktionsszenarien angepasst werden.
Wichtige Funktionen
- Es unterstützt WSGI und kann mit jedem WSGI verwendet werden, auf dem Python-Anwendungen und -Frameworks ausgeführt werden
- Es kann auch als Ersatz für Paster (z. B. Pyramid), Djangos Development Server, web2py usw. Verwendet werden
- Bietet die Auswahl verschiedener Arbeitertypen / -konfigurationen und automatisches Arbeitsprozessmanagement
- HTTP / 1.0- und HTTP / 1.1-Unterstützung (Keep-Alive) durch synchrone und asynchrone Worker
- Kommt mit SSL-Unterstützung
- Mit Haken erweiterbar
CherryPy WSGI Server
CherryPy ist ein eigenständiges Webframework, da es ohne zusätzliche Software eigenständig ausgeführt werden kann. Es verfügt über einen eigenen WSGI, HTTP / 1.1-kompatiblen Webserver. Da es sich um einen WSGI-Server handelt, kann er auch für jede andere WSGI-Python-Anwendung verwendet werden, ohne an das Anwendungsentwicklungsframework von CherryPy gebunden zu sein.
Wichtige Funktionen
- Es kann alle Python-Webanwendungen ausführen, die unter WSGI ausgeführt werden.
- Es kann statische Dateien verarbeiten und nur zum Bereitstellen von Dateien und Ordnern verwendet werden.
- Es ist Thread-Pooled.
- Es kommt mit Unterstützung für SSL.
- Es ist eine einfach anpassbare, einfach zu verwendende reine Python-Alternative, die robust und zuverlässig ist.
Twisted Web
Es ist ein Webserver, der mit der Twisted-Netzwerkbibliothek geliefert wird. Während Twisted selbst "eine ereignisgesteuerte Netzwerk-Engine" ist, läuft der Twisted-Webserver auf WSGI und kann andere Python-Webanwendungen mit Strom versorgen.
Wichtige Funktionen
- Es werden WSGI Python-Anwendungen ausgeführt
- Es kann sich wie ein Python-Webserver-Framework verhalten, sodass Sie es mit der Sprache für benutzerdefinierte HTTP-Bereitstellungszwecke programmieren können
- Es bietet einfache und schnelle Prototyping-Funktionen über Python Scrips (.rpy), die auf HTTP-Anforderungen ausgeführt werden
- Es verfügt über Proxy- und Reverse-Proxy-Funktionen
- Es unterstützt virtuelle Hosts
- • Es kann sogar Perl, PHP usw. bedienen