Предоставьте экземпляр Flask (connexion) uWSGI в Nginx - PullRequest
0 голосов
/ 26 июня 2019

Когда я запускаю образ Docker и запрашиваю интерфейс Swagger, я получаю: 502 Bad Gateway.

Я пытаюсь запустить Connexion (генератор Swagger на основе Flask) с uWSGI на nginx.Я предполагаю, что это потому, что uWSGI неправильно подхватывает мой экземпляр Flask.Однако мне кажется, что мой экземпляр контейнера правильно настроен.

Если вы посмотрите здесь https://github.com/Microsoft/python-sample-vscode-flask-tutorial,, настройка моего приложения и конфигурации аналогична, и она работает без проблем.

В соответствии с документацией Connexion, я должен иметь возможность выставитьЭкземпляр приложения для uWSGI с использованием

app = connexion.App(__name__, specification_dir='swagger/')
application = app.app # expose global WSGI application object

Мой полный код приложения находится здесь:

https://bitbucket.org/lammy123/flask_nginx_docker_connexion/src/master/

Объект Flask / Connexion находится в приложении / __ init__.py

uwsgi.ini:

[uwsgi]
module = application.webapp
callable = app
uid = 1000
master = true
threads = 2
processes = 4

__ init__.py:

import connexion

app = connexion.App(__name__, specification_dir='openapi/')
app.add_api('helloworld-api.yaml', arguments={'title': 'Hello World Example'})

webapp.py:

from . import app    # For application discovery by the 'flask' command. 
from . import views  # For import side-effects of setting up routes.
from . import app
import connexion

application = app.app

Запуск кода с помощью встроенного сервера разработки работает.

Ожидаемое поведение: пользовательский интерфейс Swagger доступен по адресу:

http://localhost:5000/v1.0/ui/#/

при запуске из контейнера Docker.

...