Почему Flask использует порт 5000 локально и 80 при развертывании?

Я тестировал свое приложение Flask локально, а затем развертывал его на экземпляре AWS EC2. Где определяется порт по умолчанию? Если я не укажу порт, он использует порт 5000 локально; при развертывании он использует порт 80. Он определен в коде Flask или является частью настроек веб-сервера?


person oxtay    schedule 23.03.2017    source источник
comment
Как вы запускаете приложение Flask? Вы можете установить порт через аргумент в коде (app = Flask(__name__) app.run(port=any_port_here)   -  person Danila Ganchar    schedule 23.03.2017
comment
Спасибо, но мой вопрос в том, что когда я не указываю, где эти порты определены в исходном коде фляги? Или они определены где-то еще?   -  person oxtay    schedule 23.03.2017


Ответы (1)


Сервер разработки Flask (Werkzeug) по умолчанию использует порт 5000 если порт не указан. Это связано с тем, что привязка к портам ниже 1024 требует повышенных разрешений.

Вы не используете (а если и используете, то не должны) использовать сервер разработки в производстве, вы используете настоящий сервер WSGI и сервер HTTP, например uWSGI и Nginx, или обработчик WSGI от Amazon. Веб-сервер, независимый от Flask, привязывается к порту 80.

person davidism    schedule 23.03.2017