【问题标题】:Failed connection when running flask app on Linux server在 Linux 服务器上运行烧瓶应用程序时连接失败
【发布时间】:2021-11-04 18:13:21
【问题描述】:

我正在尝试在 linux 服务器上部署一个烧瓶应用程序。目前,我正在测试它,我正在尝试使用以下命令运行它。

export FLASK_APP=main.py

flask run --host=0.0.0.0

当我运行它并尝试导航到 [SERVER IP]:5000 时,与服务器的连接失败。我试图实施我在其他地方找到的解决方案,例如:Can't connect to Flask web service, connection refused

我进行了这些更改,但仍然无法正常工作:

if __name__ == '__main__':
    app.run(host='0.0.0.0',port=5000)
sudo ufw allow 5000

有关服务器的一些信息 - 通过运行 Ubuntu 21.04 的 linode

任何帮助将不胜感激。

【问题讨论】:

  • 你能在本地连接到它吗 telnet 127.0.0.1 5000 ,(或 curl),如果它工作,然后尝试找出为什么外部连接不通过,可能是防火墙问题/路由问题?跨度>
  • 它在本地工作。同样,我在问题中提到我启用了端口 5000,所以我认为这可以解决任何防火墙问题
  • 您是否通过代理连接?你能从另一台服务器上 telnet telnet serverip 5000 吗?从另一台服务器 ping 到您的烧瓶应用服务器 ip 并检查连接性。

标签: python ubuntu flask web-development-server


【解决方案1】:

如果你使用__name__ == "__main__",你应该直接执行main.py

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

使用flask run 时不会执行您的app.run() 调用

默认情况下它应该在端口 5000 上运行,因此不需要该配置。

按照上面的建议尝试python3 main.py 并分享结果。

【讨论】:

    【解决方案2】:

    您可以尝试从终端以python main.py 的身份运行它吗?

    python3 main.py
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-09
      • 1970-01-01
      • 2020-04-16
      • 1970-01-01
      • 1970-01-01
      • 2020-03-17
      • 1970-01-01
      • 2020-06-27
      相关资源
      最近更新 更多