如何从本地系统将Flask应用程序运行在远程服务器上?

3

我可以使用app.run()在本地系统上运行flask应用程序。但是,当我尝试在远程服务器上使用app.run(host='0.0.0.0',port='81')或者app.run(host='<remote ip>')时,两者都不能正常工作。我想知道是否需要做其他的事情。


4
不工作意味着......出现错误信息吗?无法访问网页? - Los Frijoles
1
你不能在远程服务器上以那种方式运行它。IP地址必须是本地的。如果你想使用低于1024的端口,你必须是root用户。使用SSH,你可以在本地运行它,然后使用SSH的远程端口隧道功能将其转发到远程系统。 - Aaron D
你实际上想要完成什么?如果你想让Flask应用在远程系统上运行,你必须在该系统上安装并运行它。如果你是系统管理员,那就意味着复制应用程序(及其依赖项)并设置一个WSGI Web服务器在服务器上运行它。如果它是一个共享主机或应用服务器(如Heroku),则过程将不同,并由你的Web托管提供商记录。 - Aaron D
是的,当我执行app.run(host='0.0.0.0',port='81')时,我无法访问网页。而当我执行app.run(host='<remote ip>')时,会出现错误提示:"请求的地址在其上下文中无效"。 - Rebekah
谢谢你,Aaron D。我会这样做的。 - Rebekah
1个回答

5
问题不是来自于Flask, 在app.run(host ='0.0.0.0')中指定的IP必须归服务器所有。 如果您想在远程服务器上启动Flask,请使用SSH部署代码并在远程会话中运行它。

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