[英]Flask app deployment with lighttpd results in error
我正在尝试在 Raspberry Pi 上使用 lighttpd 和 fastcgi 部署我的 flask 应用程序。 不幸的是,我无法让它工作。 这是我的程序:
sudo apt install lighttpd
pip install flup
创建 /var/www/demoapp/hello.py
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World"
if __name__ == "__main__":
app.run()
创建 /var/www/demoapp/hello.fcgi
#!/usr/bin/python
from flup.server.fcgi import WSGIServer
from hello import app
if __name__ == '__main__':
WSGIServer(app).run()
将以下内容添加到 /etc/lighttpd/lighttpd.conf
fastcgi.server = ("/hello.fcgi" => ((
"socket" => "/tmp/hello-fcgi.sock",
"bin-path" => "/var/www/demoapp/hello.fcgi",
"check-local" => "disable",
"max-procs" => 1
)))
alias.url += (
"/static" => "/var/www/demoapp/static"
)
url.rewrite-once = (
"^(/static($|/.*))$" => "$1",
"^(/.*)$" => "/hello.fcgi$1"
)
要重新加载配置,使用sudo /etc/init.d/lighttpd restart
网络服务器
然后我希望我可以访问 raspberrypi.local raspberrypi.local/static
下的应用程序,我只是通过 Chrome 获得ERR_EMPTY_RESPONSE
。
你能发现我的程序有什么问题吗? 我错过了什么?
谢谢你的帮助!
重写后,lighttpd 在内部重新处理请求,因此删除“/static”前缀的重写将不匹配“/static”前缀的别名,因为“/static”前缀在重写后不再存在。
if $HTTP["url] !~ "^/static($|/)" {
url.rewrite-once = (
"^/hello.fcgi" => "",
"^(/.*)$" => "/hello.fcgi$1"
)
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.