我是一名计算机科学专业的学生,并且正在开发Flask应用,并尝试使用Google Compute Engine将其部署在网络上。
据我了解,在最终用户(客户端)和我的Flask应用之间,至少有两个主要元素:
(NGINX, Apache)
(Gunicorn, Uwsgi)
Flask
我在多个网站上浏览了他们使用的Web服务器,然后看到了很多Amazon S3Web服务器。这是否意味着亚马逊拥有自己的Web服务器,或者他们正在使用NGINX?我对此非常困惑。
Amazon S3
Amazon S3是一种对象存储,引用了在Amazon S3页面上托管静态网站的内容:
你可以使用Amazon S3托管静态网站。在静态网站上,单个网页包含静态内容。它们可能还包含客户端脚本。相比之下,动态网站依赖服务器端处理,包括服务器端脚本,例如PHP,JSP或ASP.NET。Amazon S3不支持服务器端脚本,但是AWS具有其他资源来托管动态网站。
另一方面,AWS为托管网站提供了广泛的服务,你可以在此处查看。
感谢您的回答,这很明显。因此,我有一个Flask应用程序,例如,我可以在Amazon S3上托管静态文件(public_html),而在Uwsgi上托管剩余文件吗?
是的,根据需求,您可以从Flask应用程序中选择Lightsail(要求不高/要求较小),具有Fargate的ECS或EC2实例。您可以将静态文件托管在S3上,但根据数量的不同,可能不值得花些功夫。