我有一台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)
答案 0 :(得分:4)
run
method采用 port 可选参数:
if __name__ == '__main__':
app.run(host="0.0.0.0", port=80)
您可以执行此操作进行测试,但对于生产,我强烈建议您阅读文档中的deployment options部分,其中详细介绍了使用各种前端WSGI服务器运行flask的方法。
如果您需要帮助,了解所有这些组件如何协同工作以及如何设置它们; this gist有一个很好的总结。
更新:主机参数必须是字符串。
答案 1 :(得分:1)
您需要sudo权限才能使用端口80.
sudo python3 app.py
这将解决问题。
答案 2 :(得分: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