FastCGI,Lighttpd和Flask

时间:2016-03-28 22:20:12

标签: python flask lighttpd

我在我的Raspberry Pi上设置了一个简单的Web服务器,我似乎无法正确设置lighttpd,fastcgi和flask。

到目前为止,我经历了/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上吐出错误。第一行看起来不对,所以我在胖箭后添加了一组parens:

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

这没有发出错误,但当我尝试连接时,我在Chrome中获得了ERR_CONNECTION_REFUSED。然后我尝试删除"/test" =>,这也有同样的问题。我也尝试了this question,中显示的配置,并且发生了同样的问题。

/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 个答案:

答案 0 :(得分:0)

我无法真正帮助你使用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"
    ))
)