Moin,
was für Alternativen gibt es zu Apache Tomcat, um Python Apps im Web darzustellen??
Zope???
Schönen Gruß
Piwi
Alternative zu Tomcat für Python
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Äh... jeder Webserver mit CGI-Interface würd ich mal behaupten!piwi hat geschrieben: was für Alternativen gibt es zu Apache Tomcat, um Python Apps im Web darzustellen??
Was meinst Du mit "darstellen"?
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Ah... so war die Frage im ersten Posting gemeint. Sorry, aber das war sehr unpräzise und missverständlich ausgedrückt.piwi hat geschrieben:Apache Tomcat ist dafür gedacht, um Java Code auf Servern darzustellen.
Zudem: Der Apache-Tomcat ist ein "Servlet"- und "Server Pages"-Container - Darstellung suggeriert dagegen eher etwas wie ein Paste-bin imho.
Diese Vergleiche hinken ein wenig. CGI ist ja eher eine mögliche Schnittstelle zwischen Applikation und Webserver. Damit Python-Apps auf möglichst vielen Server laufen kann, gibt es die WSGI-Spezifikation. Sofern eine Python-Appliaktion auf WSGI aufsetzt, gibt es verschiedene Schnittstellenimplementierungen, die WSGI auf die unterschiedlichen nativen Webserver-Schnittstellen mappen, wie z.B. CGI, FastCGI oder eben direkt WSGI (beim Apachen über mod_wsgi).Gibt es ein vergleichbares Application Framework, um Python Code auf Servern auszuführen, ausgenommen CGI???
Das garantiert die Lauffähigkeit auf so ziemlich allen Webservern (daher nannte ich CGI als quasi kleinsten Nenner).
Da niemand wirklich gegen Low-Level WSGI programmieren will, gibt es neben Abstraktionsschichten für WSGI (Werkzeug und bottle seien hier mal genannt) auch noch höhere Frameworks wie z.B. Django.
Am besten wirfst Du mal einen Blick ins wiki (oben rechts!) und liest Dir die ettlichen Threads hier im Board dazu durch

Wenn gemeint ist, welche in Python geschriebene Webserver es gibt (da ja Tomcat ein in Java geschriebener Webserver ist), dann lautet die Antwort IMHO CherryPy. Und was der Servlet-Standard für Java, ist der WSGI-Standard für Python und "zufällig" unterstützt CherryPy diesen. So kann man CherryPy z.B. mit Django oder Bottle zusammen benutzen. Alternativ bietet CherryPy einen eigenen Weg, wie man relativ einfach Webanwendungen bauen kann.
Stefan
Stefan
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Ist natürlich auch die Frage wozu man das braucht. Im Gegensatz zu Java gibt es unter Python weniger die "Not Invented Here"-Mentalität so dass Python-Server üblicherweise für die Entwicklung genommen werden aber fürs Deployment dann oft etablierte und gut getestete Server hergenommen werden.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Ich denke, dass hat weniger mit NIH zu tun, als mit meinem einfacheren Betrieb und Konfiguration. Mit Tomcat ist es viel einfacher (wenn man mit dem Java-Umfeld vertraut ist) auf jeder beliebigen Plattform einen Webserver aufzusetzen, als wenn man je nach Betriebssystem sich mit verschiedenen Server oder auch nur mit so kryptischen http-Konfigurationsdateien herumschlagen muss.
IMHO ist Tomcat kein Webserver, sondern ein Application-Server, der für Webapplikationen ein immer gleiches Umfeld bietet.
Normalerweise wird als Webserver ein Apache httpd vorgeschaltet.
Der Applicationserver übernimmt dabei die Schnittstellen im 3-Schichten Model, zu Datenbanken, zur Authentifizierung, zur Zugriffskontrolle, Fehlerhandling und Logging und mit das wichtigste das Deployment.
So etwas in der Art habe ich in Python noch nicht gefunden bzw. noch nicht die vielen Möglichkeiten (http://wiki.python.org/moin/WebFrameworks) ausprobiert, was dem am nächsten kommt.
Normalerweise wird als Webserver ein Apache httpd vorgeschaltet.
Der Applicationserver übernimmt dabei die Schnittstellen im 3-Schichten Model, zu Datenbanken, zur Authentifizierung, zur Zugriffskontrolle, Fehlerhandling und Logging und mit das wichtigste das Deployment.
So etwas in der Art habe ich in Python noch nicht gefunden bzw. noch nicht die vielen Möglichkeiten (http://wiki.python.org/moin/WebFrameworks) ausprobiert, was dem am nächsten kommt.
Doch, sowas gibt es - Paster:
http://pythonpaste.org/deploy/
Damit kann man verschiedene WSGI-Applikationen unter Praefizes montieren & konfigurieren. ZB mehrere TurboGears2 Anwendungen, die man als EGG installiert hat.
http://pythonpaste.org/deploy/
Damit kann man verschiedene WSGI-Applikationen unter Praefizes montieren & konfigurieren. ZB mehrere TurboGears2 Anwendungen, die man als EGG installiert hat.