【问题标题】:How can I change the host and port that the flask command uses?如何更改烧瓶命令使用的主机和端口?
【发布时间】:2017-06-15 21:23:09
【问题描述】:

我想更改运行我的应用程序的主机和端口。我在app.run中设置了hostport,但是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

【问题讨论】:

    标签: python flask


    【解决方案1】:

    你可以使用这2个环境变量:

    set FLASK_RUN_HOST=0.0.0.0
    set FLASK_RUN_PORT=3000
    

    【讨论】:

      【解决方案2】:

      你也可以使用它:

      if __name__ == "__main__":
          app.run(host='127.0.0.1', port=5002)
      

      然后在控制台中使用它

      set FLASK_ENV=development
      python app.py
      

      【讨论】:

        【解决方案3】:
        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】:

          flask 命令与flask.run 方法是分开的。它看不到应用程序或其配置。要更改主机和端口,请将它们作为选项传递给命令。

          flask run -h localhost -p 3000
          

          通过--help 获取完整的选项列表。

          设置SERVER_NAME 配置也不会影响命令,因为命令看不到应用的配置。


          从不将开发服务器暴露给外部(例如绑定到0.0.0.0)。使用生产 WSGI 服务器,例如 uWSGI 或 Gunicorn。

          gunicorn -w 2 -b 0.0.0.0:3000 myapp:app
          

          【讨论】:

            【解决方案5】:

            也可以使用环境变量FLASK_RUN_PORT,例如:

            export FLASK_RUN_PORT=8000
            flask run
             * Running on http://127.0.0.1:8000/
            

            来源:The Flask docs

            【讨论】:

            • 为了完整起见,可以使用 envvar FLASK_RUN_HOST 来更改主机。
            • 为了进一步完整,您可以通过设置遵循模式FLASK_COMMAND_OPTION 的环境变量来设置flask <command> 上的选项。例如而不是flask run --host 8000 设置export FLASK_RUN_HOST=8000,而不是flask routes --sort methods 设置export FLASK_ROUTES_SORT=methods
            【解决方案6】:

            当你使用flask run命令运行应用服务器时,模块的__name__不是"__main__"。所以你的代码中的if 块没有被执行——因此服务器没有像你期望的那样绑定到0.0.0.0

            要使用此命令,您可以使用 --host 标志绑定自定义主机。

            flask run --host=0.0.0.0
            

            Source

            【讨论】:

              猜你喜欢
              • 2019-09-01
              • 2011-08-01
              • 1970-01-01
              • 1970-01-01
              • 2013-03-27
              • 1970-01-01
              • 1970-01-01
              • 2019-11-25
              • 2012-06-12
              相关资源
              最近更新 更多