如何使用 gunicorn 在 GCP 上托管 Flask 应用程序?

How to host flask app on GCP using gunicorn?

我正在尝试在开发模式下使用 Gunicorn 在 GCP 上托管我的超集应用程序。这是我的配置:

应用程序安装说明:https://superset.incubator.apache.org/installation.html 应用配置说明:https://www.digitalocean.com/community/tutorials/how-to-serve-flask-applications-with-gunicorn-and-nginx-on-ubuntu-18-04

请注意,我正在使用以下方式打开端口侦听:

sudo ufw allow 8088

到 运行 应用:

superset run -p 8088 -h 0.0.0.0

我要访问的link:http://gcp_external_ip:8088

但是没有响应。

请注意,我已针对所有 HTTP 和 https 流量进行设置:

这是我的命令 shell:

请告诉我我哪里出错了?我无法从我的其他系统访问服务器:

外部 ping 也在发生:

允许HTTP在GCP VPC防火墙中打开80端口。将 Flask 应用程序的服务端口更改为端口 80

问题在于设置防火墙端口并允许它们通过添加端口在防火墙设置中访问 HTTP 和 https。感谢@Guillem 的帮助!如果有人遇到此问题,请添加评论,我会尽快与您联系。

您无需更改您的应用程序暴露在互联网上的端口 - 如果您对 8088 没问题,那么就使用它。

只需确保 create a GCP firewall rule 让流量进入。默认情况下 HTTP serverHTTPS server 分别打开端口 80 和 443。端口 8088 默认被阻止。

为来自所有 IP 的带有“tag1”标签的实例打开端口 8080 的示例防火墙规则:

gcloud compute --project=myproject firewall-rules create port8088 --direction=INGRESS --priority=1000 --network=default --action=ALLOW --rules=tcp:8088 --source-ranges=0.0.0.0/0 --target-tags=tag1

此外 - 将“tag1”标记分配给要“取消阻止”的 VM。