本地运行的基本 NGINX、uWSGI 配置仅提供 404

本地运行的基本 NGINX、uWSGI 配置仅提供 404

我的 Flask 应用通过 uWSGI 运行,并且我使用 TCP 套接字与 NGINX 通信。配置非常简单:

应用程序配置文件

server {
    listen 80 default_server;

    location / {
        uwsgi_pass 127.0.0.1:9000;
        include uwsgi_params;
    }
}

我在 .ini 中指定了 TCP 套接字:

uwsgi.ini

[uwsgi]
socket = 127.0.0.1:9000

# remove the socket once disconnected
vacuum = true

module = wsgi
callable = app
processes = 4
threads = 2
master = 1

我的模块:

wsgi.py

from app import create_app

app = create_app('config/development.py')

if __name__ == '__main__':
    app.run()

127.0.0.1:80/ 仅返回 404 错误(当 uWSGI 未运行时,则返回 NGINX 502 错误)。

我如何让 uWSGI 和 NGINX 相互通信?uWSGI 如何通过 NGINX 为 Flask 应用提供服务?

答案1

我通过更改 Flask 配置来指定服务器来解决了该问题:

配置/开发.py

...
SERVER_NAME = 'applicationlocal'

然后在 NGINX 配置中指定该服务器:

应用程序配置文件

location / {
     listen 80;
     server_name applicationlocal;
}

我之前曾编辑过 OS X 主机文件,将 127.0.0.1 与“applicationlocal”匹配;现在我可以在“applicationlocal:80/”访问应用程序,但不能访问“127.0.0.1:80/”。

相关内容