我想更改运行我的应用的主机和端口。我在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
答案 0 :(得分:45)
flask
命令与flask.run
方法分开,它没有看到它或以任何方式使用它。您可以将命令行参数传递给命令。
flask run -h localhost -p 3000
传递--help
以获取完整的选项列表。
从不将开发服务器暴露给外部(例如绑定到0.0.0.0
)。使用生产WSGI服务器,例如uWSGI或Gunicorn。
gunicorn -w 2 -b 0.0.0.0:3000 myapp:app
答案 1 :(得分:5)
使用flask run
命令运行应用程序服务器时,模块的__name__
不是"__main__"
。因此,代码中的if
块不会被执行 - 因此服务器不会像您期望的那样被绑定到0.0.0.0
。
要使用此命令,您可以使用--host
标志绑定自定义主机。
flask run --host=0.0.0.0
答案 2 :(得分:2)
您也可以使用它:
if __name__ == "__main__":
app.run(host='127.0.0.1', port=5002)
然后在控制台中使用它
set FLASK_ENV=development
python app.py
答案 3 :(得分:1)
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
if __name__ == 'main':
app.run(host="localhost", port=8000, debug=True)
在脚本中像这样配置主机和端口并使用
运行它python app.py
答案 4 :(得分:1)
您可以使用这 2 个环境变量:
set FLASK_RUN_HOST=0.0.0.0
set FLASK_RUN_PORT=3000
答案 5 :(得分:0)
您还可以使用环境变量FLASK_RUN_PORT
,例如:
export FLASK_RUN_PORT=8000
flask run
* Running on http://127.0.0.1:8000/
来源:The Flask docs。