Domanda

WSGI

Mi è stato detto è la strada da percorrere e non mod_python. Ma più specificamente, come è possibile impostare l'ambiente multi sito web server? Scelta del server web, ecc?

È stato utile?

Soluzione

Apache + mod_wsgi è una scelta comune.

Ecco un semplice esempio vhost, l'installazione fino a mappare eventuali richieste di / WSGI / qualcosa per l'applicazione (che possono poi guardare PATH_INFO di scegliere un'azione, o comunque si sta facendo il dispacciamento). L'URL radice '/' è anche indirizzato all'applicazione WSGI.

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>

È possibile utilizzare la direttiva WSGIProcessGroup per separare i gestori per diverse vhosts, se volete. Se avete bisogno di script vhosts' essere eseguito con diversi utenti è necessario utilizzare WSGIDaemonProcess al posto del interprete Python integrato.

application.py sarebbe, quando eseguito, lasciare la vostra WSGI richiamabile nella variabile globale ‘applicazione’. È inoltre possibile aggiungere un piè di run-as-principale per la compatibilità con CGI vecchia scuola:

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

application= MyApplication()

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

Altri suggerimenti

Mi consiglia di Nginx per il server web. Veloce e facile da configurare.

Si sarebbe probabilmente desidera avere un utente unix per ogni vhost - così ogni directory home tiene la propria applicazione, l'ambiente di pitone e la configurazione del server. Questo consente di riavviare una particolare applicazione in modo sicuro, semplicemente uccidendo i processi di lavoro che il vostro vhost possiede.

Solo un consiglio, spero che aiuta.

Si potrebbe utilizzare Apache e mod_wsgi . In questo modo, è ancora possibile utilizzare il supporto built-in di Apache per vhosts.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top