Frage

Ich habe gesagt wsgi ist der Weg zu gehen und nicht mod_python. Aber genauer gesagt, wie würden Sie Ihre Multi Website-Server-Umgebung einrichten? Wahl des Web-Server, etc?

War es hilfreich?

Lösung

Apache + mod_wsgi ist eine gemeinsame Wahl.

Hier ist ein einfaches Beispiel vhost, Setup, alle Anfragen für / wsgi / etwas auf die Anwendung abzubilden oben (die dann bei PATH_INFO aussehen kann eine Aktion zu wählen, oder aber Sie Ihre Disposition tun). Die Stamm-URL ‚/‘ auch auf die WSGI Anwendung weitergeleitet wird.

LoadModule wsgi_module /usr/local/lib/mod_wsgi.so
...

<VirtualHost *:80>
    ServerName                  www.example.com
    DocumentRoot                /www/example/htdocs
    WSGIScriptAliasMatch ^/$    /www/example/application.py
    WSGIScriptAlias      /wsgi  /www/example/application.py
</VirtualHost>

Sie können die WSGIProcessGroup Direktive verwenden Handler für verschiedene vhosts zu trennen, wenn Sie möchten. Wenn Sie vhosts' Skripte müssen unter verschiedenen Benutzern ausgeführt werden müssen Sie WSGIDaemonProcess verwenden, anstatt des eingebetteten Python-Interpreter.

application.py würde, wenn laufen, lassen Sie Ihre WSGI aufrufbar in der globalen ‚Anwendung‘ Variable. Sie können auch einen Run-as-Haupt-Footer für die Kompatibilität mit alten Schule CGI hinzufügen:

#!/usr/bin/env python
from mymodule import MyApplication

application= MyApplication()

if __name__=='main':
    import wsgiref.handlers
    wsgiref.handlers.CGIHandler().run(application)

Andere Tipps

würde ich Nginx für den Web-Server empfehlen. Schnell und einfach einzurichten.

Sie würden vermutlich einen Unix-Benutzer pro vHost haben wollen - so dass jedes Home-Verzeichnis hält seine eigene Anwendung, Python-Umgebung und Server-Konfiguration. Auf diese Weise können Sie eine bestimmte App sicher neu zu starten, einfach durch Arbeitsprozesse zu töten, die Ihr vHost besitzt.

Nur ein Tipp, hoffen, dass es hilft.

Sie können Apache verwenden und mod_wsgi . Auf diese Weise können Sie noch Apache eingebaute Unterstützung für vhosts verwenden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top