有什么方法可以找出Flask应用程序在aws ec2上正常运行吗?

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

我正在尝试在 aws ec2 实例上部署我的简单 Flask 应用程序。然而我遇到了一些麻烦。

问题:

  • 我设置了允许来自本地设备的 TCP 请求的入站设置。 (8080端口)

  • 此外,我设置了允许来自本地设备的 http 请求的入站设置。

  • 我使用

    uWSGI
    来部署flask应用程序。

  • 当我向 ec2 实例发送 http 请求时,我得到响应,apache2 服务没有任何问题。

  • 顺便说一句,我无法从端口 8080 获得响应。

这些是我尝试过的:

  • 执行

    uwsgi --http 127.0.0.1:8080 --master -w server:app
    打开服务器。
    server:app
    是我的模块名称。

  • 在 ec2 实例的终端执行

    curl http://localhost:8080
    ,我得到包含我的 Flask 应用程序生成的 html 响应。

  • 执行

    sudo netstat -tlnp
    以检查
    uWSGI
    是否运行良好。结果是这样的:

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.1:34935         0.0.0.0:*               LISTEN      3214/uwsgi

tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      310/systemd-resolve
tcp        0      0 127.0.0.1:8080          0.0.0.0:*               LISTEN      3214/uwsgi

tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      548/sshd: /usr/sbin
tcp6       0      0 :::80                   :::*                    LISTEN      1421/apache2
tcp6       0      0 :::22                   :::*                    LISTEN      548/sshd: /
  • 执行了
    tcping <instance ip address> 8080
    ,没有任何反应。

最后,我粘贴我的 aws ec2 入站设置,以便对我的入站设置持怀疑态度的人。 (韩语意思是用户随意 TCP)

ubuntu flask amazon-ec2 uwsgi
1个回答
0
投票

我执行命令

nc -l 8080
来检查ec2是否很好地获取了请求。 然后,netcat 注意到我的请求进展顺利。这说明应用层有问题。毕竟我发现了我的错误:

出现这个问题是因为“主机地址”。 我执行了

uwsgi --http 127.0.0.1:8080 --master -w server:app
来打开服务器。顺便说一句,127.0.0.1 是环回地址,这意味着 aws ec2 实例本身。

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