FastCGI, Lighttpd и Flask

Я настраиваю простой веб-сервер на моем малине Pi, и я не могу правильно настроить lighttpd, fastcgi и флягу.

К настоящему моменту я провел несколько итераций /etc/lighttpd/lighttpd.conf, причем последний из них был

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

Это выплюнула ошибку на /etc/init.d/lighttpd start. Первая строка выглядела неправильно, поэтому я добавил набор парнеров после толстой стрелки:

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

Это не выплевывало ошибку, но когда я попытался подключиться, я получил ERR_CONNECTION_REFUSED в Chrome. Затем я попытался удалить "/test" =>, и у этой проблемы была такая же проблема. Я также попробовал конфигурацию, показанную в этом вопросе, и возникла та же проблема.

В /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()

В /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>"

Текущая lighttpd.conf терпит неудачу, когда я запускаю ее с помощью /etc/init.d/lighttpd start.

Ответ 1

Я не могу помочь вам с частью Python, поскольку он находится вне моего набора навыков, однако при запуске php в качестве сервера fcgi я бы использовал lighttpd.conf, как показано ниже.

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

Итак, я бы предположил, что для python требуется следующее:

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