猿问

是否可以在没有端口的情况下运行烧瓶?

我尝试使用以下方法在托管中启动 Flask:


if __name__ == "__main__":

    app.run('0.0.0.0', 8000)

但是主机的 8080 端口已关闭,是否可以使用默认端口 80 运行 Flask?


我试过它给了我这个错误:


Use a production WSGI server instead.                                                                                                                                                                     

 * Debug mode: off                                                                                                                                                                                           

Traceback (most recent call last):                                                                                                                                                                           

  File "__init__.py", line 461, in <module>                                                                                                                                                                  

    app.run('0.0.0.0', 80)                                                                                                                                                                                   

  File "/home/o/oliwin4/project/public_html/myenv/local/lib/python2.7/site-packages/flask/app.py", line 943, in run                                                                                          

    run_simple(host, port, self, **options)                                                                                                                                                                  

                                                                                                                                                                                                                                                                                                                                

所以,主机说 80 端口是开放的。


当年话下
浏览 170回答 1
1回答

交互式爱情

该瓶的文件指出:虽然轻量级且易于使用,但 Flask 的内置服务器不适合生产,因为它不能很好地扩展。此处记录了一些可用于在生产中正确运行 Flask 的选项。该文档还说明了使用 WSGI 服务器部署 Web 应用程序的几种方法。WSGI(Web 服务器网关接口)是一种标准,用于将来自 Web 服务器的请求转发到用 Python 编写的 Web 应用程序。您将需要使用 WSGI 服务器在您的主机上运行您的网站,因为听起来您正在尝试将 Flask 应用程序部署到生产环境中。为了回答您最初的问题,当您尝试在端口 80 上运行 Flask 库时,它会故意抛出一个错误,因为它们明确指出您不应将 Flask 的内置服务器用于生产用途。这是您的堆栈跟踪的这一部分:Use&nbsp;a&nbsp;production&nbsp;WSGI&nbsp;server&nbsp;instead.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;Debug&nbsp;mode:&nbsp;off和socket.error:&nbsp;[Errno&nbsp;1]&nbsp;Operation&nbsp;not&nbsp;permitted对于懒惰的人,或者如果上面的链接失效了,这里是一个使用 Gunicorn 的例子(直接从上面的文档链接复制)独角兽Gunicorn 'Green Unicorn' 是 UNIX 的 WSGI HTTP 服务器。这是一个从 Ruby 的 Unicorn 项目移植过来的 pre-fork worker 模型。它同时支持 eventlet 和 greenlet。在此服务器上运行 Flask 应用程序非常简单:gunicorn myproject:appGunicorn 提供了许多命令行选项——参见 gunicorn -h。例如,要运行具有 4 个工作进程 (-w 4) 绑定到本地主机端口 4000 (-b 127.0.0.1:4000) 的 Flask 应用程序:gunicorn -w 4 -b 127.0.0.1:4000 myproject:app
随时随地看视频慕课网APP

相关分类

Python
我要回答