I want to change the host and port that my app runs on. I set host
and port
in app.run
, but the flask run
command still runs on the default 127.0.0.1:8000
. How can I change the host and port that the flask
command uses?
if __name__ == '__main__': app.run(host='0.0.0.0', port=3000)
set FLASK_APP=onlinegame set FLASK_DEBUG=true python -m flask run
Advertisement
Answer
The flask
command is separate from the flask.run
method. It doesn’t see the app or its configuration. To change the host and port, pass them as options to the command.
flask run -h localhost -p 3000
Pass --help
for the full list of options.
Setting the SERVER_NAME
config will not affect the command either, as the command can’t see the app’s config.
Never expose the dev server to the outside (such as binding to 0.0.0.0
). Use a production WSGI server such as uWSGI or Gunicorn.
gunicorn -w 2 -b 0.0.0.0:3000 myapp:app