为什么我的 Flask 应用程序根本无法在任何端口和任何 IP 上运行?

问题描述 投票:0回答:1

我刚刚在我的免费 AWS EC2 实例上部署了 Flask。我的 main.py 基本应用程序在我创建的虚拟环境中的终端中运行得很好。

main.py

 from flask import Flask
 app = Flask(__name__)

 @app.route("/")
 def testprint():
     print('''
       text test
     ''')

 testprint()

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

但是,我无法通过端口 5000 访问它,无论是使用本地主机还是浏览器中的外部 IP 地址。

curl 127.0.0.1:5000
curl: (7) Failed to connect to 127.0.0.1 port 5000 after 0 ms: Couldn't connect to server

我的安全组入站规则如下所示:

EC2 入站规则

Python 和 Flask 版本:

flask --version
Python 3.9.16
Flask 3.0.3
Werkzeug 3.0.3

还运行 nginx 版本:nginx/1.24.0。实例上没有ufw。

尝试在入站规则上开放端口 5000。

flask nginx amazon-ec2
1个回答
0
投票

根据提供的信息,这些是我要确定的事项列表,

  1. ✅ 入站规则允许端口5000
  2. ⚠️函数上没有return语句替换为return
  3. 尝试在
    /
    上调用 api,即您的服务器本地主机上的
    127.0.0.1:5000/
  4. 如果可行,请找到要从互联网访问的实例的公共 IP
  5. 更重要的是,确保应用程序正在运行

btw,你是如何配置 nginx 的?在哪里配置的?无论如何,如果暴露了,你仍然可以直接点击,确保nginx不会干扰端口5000,(ps:默认情况下不会干扰)

很高兴能进一步提供帮助:)

© www.soinside.com 2019 - 2024. All rights reserved.