Python 在nginx上运行烧瓶应用程序
我不知道我到底在做什么,但我正在nginx上尝试运行Flask。我把它归结为下面的简单代码。首先,我有一个烧瓶中的测试应用程序,如下所示:Python 在nginx上运行烧瓶应用程序,python,nginx,flask,uwsgi,Python,Nginx,Flask,Uwsgi,我不知道我到底在做什么,但我正在nginx上尝试运行Flask。我把它归结为下面的简单代码。首先,我有一个烧瓶中的测试应用程序,如下所示: from flask import Flask, render_template app = Flask(__name__, static_folder='client', template_folder='client/html') def show_home_page(): return render_template("home.ht
from flask import Flask, render_template
app = Flask(__name__, static_folder='client', template_folder='client/html')
def show_home_page():
return render_template("home.html")
@app.route('/')
def server():
return show_home_page()
if __name__ == '__main__':
app.run(threaded=True)
如果我运行python app.py,我可以访问并查看“Hello World”。接下来我读到我需要运行uwsgi,但不清楚我需要传递什么参数给它。我尝试了不同的方法,比如:
uwsgi -s /tmp/app.sock --manage-script-name --mount ./=app:app
我还注意到,我需要将我的nginx conf文件设置为匹配,但我也被困在这一点上(我刚刚在端口5000上收到nginx的欢迎),而且它似乎没有与我的Flask应用程序链接。我在谷歌上搜索了一下,但还没有点击
server {
listen 5000;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
}
对于装有Nginx和uWSGI的烧瓶,您可以使用以下内容:
您是否在使用nginx反向代理?那么你不想在5000上使用nginx和flask,你能直接通过uwsgi访问该站点吗?在通过nginx发送连接之前,验证它是否工作可能更容易。如何验证我可以通过uwsgi访问?我不是uwsgi专家,但我过去使用它的方式是将其部署在http端口上。您不需要公开访问该端口,因为您最终计划在nginx之后部署,但这意味着您可以在浏览器中指定该端口。看起来这不是你现在要走的路线,但我想我很好奇为什么会这样。如果您还没有查看快速入门文档,那么查看一下这些文档可能会有所帮助:。他们给出了一个非常简单的例子,似乎与您的目标相符。您需要在nginx配置中设置
uwsgi\u pass
,然后nginx才知道如何将调用传递给您的uwsgi实例