2016-03-28 3 views
10

Je configure un simple serveur web sur mon Raspberry Pi et je n'arrive pas à configurer correctement lighttpd, fastcgi et flask.FastCGI, Lighttpd et Flask

Maintenant, je suis passé par quelques itérations de /etc/lighttpd/lighttpd.conf, le plus récent étant

fastcgi.server = ("/test" => 
    "test" => (
     "socket" => "/tmp/test-fcgi.sock", 
     "bin-path" => "/var/www/py/test.fcgi", 
     "check-local" => "disable" 
    ) 
) 

Ce cracha une erreur sur /etc/init.d/lighttpd start. La première ligne avait l'air mal, donc j'ajouté un ensemble de parens après la graisse flèche:

fastcgi.server = ("/test" => (
... 
)) 

Cela ne recracher une erreur, mais quand j'essayé de me connecter, je reçois ERR_CONNECTION_REFUSED dans Chrome. Puis j'ai essayé de supprimer "/test" =>, et cela a eu le même problème. J'ai également essayé la configuration montrée dans this question, et le même problème s'est produit.

En /var/www/py/test.fgci:

#!/usr/bin/python 
from flup.server.fcgi import WSGIServer 
from test import app 

WSGIServer(app, bindAddress="/tmp/test-fcgi.sock").run() 

En /var/www/py/test.py:

from flask import Flask 
app = Flask(__name__) 

@app.route("/test") 
def hello(): 
    return "<h1 style='color:red'>&#9773; hello, comrade &#9773;</h1>" 

Le lighttpd.conf actuel échoue quand je commence avec /etc/init.d/lighttpd start.

Répondre

0

Je ne peux pas vraiment vous aider avec la partie Python car elle est en dehors de mes compétences, mais lorsque vous utilisez php comme serveur fcgi, j'utiliserais un lighttpd.conf comme celui-ci.

fastcgi.server += (".php" => 
    ((
     "host" => "127.0.0.1", 
     "port" => "9000", 
     "broken-scriptfilename" => "enable" 
    )) 
) 

Je suppose donc que quelque chose comme ce qui suit est ce que vous avez besoin pour python.

fastcgi.server += ("/test" => 
    ((
     "socket" => "/tmp/test-fcgi.sock", 
     "bin-path" => "/var/www/py/test.fcgi", 
     "check-local" => "disable" 
    )) 
)