2

我有一个 ubuntu EC2 服务器并想运行一个烧瓶服务器。我想使用我的域名 api.example.com 访问服务器,而不必包含端口号。现在,我可以通过执行 api.example.com:5000/... 成功访问服务器,但我不知道如何执行 api.example.com/...。

现在我只是使用 python flask_server.py 直接运行烧瓶服务器。

在 flask_server.py 中:

if __name__ == '__main__':
    app.run(host=0.0.0.0)
4

3 回答 3

5

run方法采用端口可选参数:

if __name__ == '__main__':
    app.run(host="0.0.0.0", port=80)

您可以为测试执行此操作,但对于生产,我强烈建议您阅读文档中的部署选项部分,其中详细介绍了使用各种前端 WSGI 服务器运行烧瓶的方法。

如果您需要帮助了解所有这些组件如何协同工作以及如何设置它们;这个要点有一个很好的总结。

更新:主机参数需要是一个字符串。

于 2013-10-28T04:35:00.473 回答
2

您需要 sudo 权限才能使用端口 80。

sudo python3 app.py 

这将解决问题。

于 2016-01-12T06:23:04.300 回答
0

在端口 80 上使用 Flask 服务器的正确语法是:

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=80)

请记住,您可能需要超级用户权限。

如果您仍在构建应用程序,这种变通方法是可以接受的。

如果,据我所知,您计划在生产中部署您的应用程序,那么您需要正确地执行它。在这里,您可以根据要求找到 Ubuntu 的分步信息:

https://www.digitalocean.com/community/tutorials/how-to-deploy-a-flask-application-on-an-ubuntu-vps

于 2014-05-30T16:48:59.323 回答