Es wird gesagt, der beste Weg zur Bereitstellung von Django ist die Verwendung von wsgi, ich frage mich, warum?

7

Wir stellen eine Django-Anwendung bereit, ich fand in der Dokumentation, dass es empfehlenswert ist, WSGI-Einstellungen dafür zu verwenden.

Vor der Bereitstellung wollte ich wissen, warum es gegenüber anderen zwei Vorgehensweisen empfohlen wird, d. h. mit mod_python und fastcgi ...

Vielen Dank.

    
Software Enthusiastic 24.02.2010, 15:54
quelle

3 Antworten

15

wsgi wird normalerweise bevorzugt, weil es die Wahl des Frameworks von der Wahl des Webservers entkoppelt: Wenn Sie morgen von Apache zu nginx oder was auch immer wechseln möchten, ist der Umzug mit wsgi einfach trivial, nicht so einfach anders.

Darüber hinaus bietet die Verwendung von wsgi die Möglichkeit, eine Framework-unabhängige Middleware hinzuzufügen, anstatt sich auf jede mögliche Funktionalität zu verlassen, die Sie bereits implementiert haben und für Ihr Framework Ihrer Wahl bereitstellen möchten.

    
Alex Martelli 24.02.2010, 15:58
quelle
5

Wir haben mod_python versucht. Es ist langsamer und schwieriger zu konfigurieren. Es bietet keine Daemon-Funktion.

Wir konnten fast_cgi nicht für unsere Kombination aus Apache, Red Hat und Python erstellen. Ich bin mir nicht sicher, was genau falsch war, aber wir konnten es nicht richtig aufbauen. Es würde Anfragen an Django nicht ordnungsgemäß versenden, und wir konnten das Problem nicht diagnostizieren.

Wir haben mod_wsgi third versucht. Es hat gut gebaut. Es hat die Daemon-Option. Es ist sehr einfach zu konfigurieren. Es ermöglicht einen trivialen Neustart der Django-Anwendungen, ohne den gesamten Apache neu starten zu müssen.

    
S.Lott 24.02.2010 15:57
quelle
0

Ich benutze mod_wsgi für jede Produktions-Django-App. Es ist schnell, stabil und sehr konfigurierbar.

Vielleicht möchten Sie sich auch die FastCGI-Methode etwas genauer ansehen. Eric Florenz hat gerade einen tollen Artikel über Django mit FastCGI für den Django-Advent geschrieben: Ссылка

/ p>     
Josh Wright 24.02.2010 16:01
quelle