为什么Flask在本地使用5000端口,在部署时使用80端口?

7

我一直在本地测试我的Flask应用程序,然后将其部署到AWS EC2实例上。默认端口在哪里定义?如果我没有指定任何端口,它会在本地使用端口5000;在部署时,它使用端口80。这是在Flask代码中定义的还是作为web服务器设置的一部分呢?


你如何运行Flask应用程序?你可以通过代码中的参数设置端口(app = Flask(__name__) app.run(port=any_port_here))。 - Danila Ganchar
1
谢谢,但我的问题是当我没有指定端口时,这些端口在Flask源代码中定义在哪里?或者它们是在其他地方定义的? - oxtay
1个回答

6
如果没有指定端口号,Flask(Werkzeug)的开发服务器默认为5000端口。这是因为绑定到小于1024的端口需要提升权限。
你不应该在生产环境中使用开发服务器(如果你在使用,应该停止使用),而应该使用真正的WSGI服务器和HTTP服务器,如uWSGI、Nginx或Amazon的WSGI处理程序。独立于Flask的Web服务器会绑定到端口80。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接