Почему я не могу изменить хост и порт, на которых работает приложение Flask?
Я хочу изменить хост и порт, на которых работает мое приложение. Я установил host
и port
в app.run
, но команда flask run
по-прежнему работает по умолчанию 127.0.0.1:8000
. Как изменить хост и порт, которые использует команда flask
?
if __name__ == '__main__':
app.run(host='0.0.0.0', port=3000)
set FLASK_APP=onlinegame
set FLASK_DEBUG=true
python -m flask run
Ответы
Ответ 1
Команда flask
отличается от метода flask.run
, она не видит ее и не использует ее каким-либо образом. Вы можете передать аргументы командной строки команде.
flask run -h localhost -p 3000
Pass --help
для полного списка параметров.
Никогда не выставляйте сервер dev наружу (например, привязка к 0.0.0.0
). Используйте сервер WSGI для производства, такой как uWSGI или Gunicorn.
gunicorn -w 2 -b 0.0.0.0:3000 myapp:app
Ответ 2
Когда вы запускаете сервер приложений с помощью команды flask run
, __name__
модуля не "__main__"
. Таким образом, блок if
в вашем коде не выполняется - следовательно, сервер не привязывается к 0.0.0.0
, как вы ожидаете.
Для использования этой команды вы можете связать собственный хост с помощью флага --host
.
flask run --host=0.0.0.0
Источник