2012-05-02 14 views
7

Voglio avere un programma semplice in python in grado di elaborare richieste diverse (POST, GET, MULTIPART-FORMDATA). Non voglio usare una struttura completa.Come eseguire nginx + python (senza django)

Fondamentalmente ho bisogno di essere in grado di ottenere parametri GET e POST - probabilmente (ma non necessariamente) in un modo simile a PHP. Per ottenere altre variabili SERVER come REQUEST_URI, QUERY, ecc.

Ho installato nginx correttamente, ma non sono riuscito a trovare un buon esempio su come fare il resto. Quindi un semplice tutorial o qualsiasi direzione e idea su come configurare nginx per eseguire determinati processi Python per alcuni host virtuali sarebbe il benvenuto!

+0

Hai esaminato la fiaschetta? Quadro super leggero per la creazione di applicazioni web – tkone

+0

Non ho bisogno di una webapp, solo un semplice programma che elabora una semplice richiesta. – ddinchev

+1

Questo è praticamente ciò che è una boccetta. È un'interfaccia per un server wsgi (werkzeug) e ha un sistema di template che puoi ignorare. – tkone

risposta

4

Si dovrebbe esaminare usando Flask - è un'interfaccia estremamente leggera per un server WSGI (werkzeug) che include anche una libreria di template, nel caso si volesse usarne una. Ma puoi completamente ignorarlo se vuoi.

+0

Wow, Flask sembra fantastico! Esattamente quello che stavo cercando :) – Bavell

8

Sebbene sia possibile far eseguire a Python un server Web da solo con wsgiref, si consiglia di utilizzare uno dei many Python webservers in giro.

Nel caso di Nginx, guarderei Gunicorn o uWSGI.

+0

Grazie, questo è un buon consiglio. – ddinchev

+0

+1 per il collegamento di riferimento. – jpmc26

0

Tutti gli stessi devono utilizzare il server wsgi, poiché nginx non supporta completamente questo protocollo.

1

È possibile utilizzare thttpd. È un server wsgi leggero per l'esecuzione di script cgi. Funziona bene con nginx. La configurazione di thttpd con Nginx è dettagliata qui: http://nginxlibrary.com/running-cgi-scripts-using-thttpd/

+0

Bella soluzione :) Va notato tuttavia che l'uso di cgi non è in genere un buon piano, con cgi devi avviare un nuovo processo per ogni richiesta che è piuttosto lento rispetto a mantenere il processo in esecuzione e lasciarlo gestire più richieste . – Wolph