将file upload到Amazon AWS

我是亚马逊AWS的新手,而且对于一般的虚拟主机来说还是比较新的。 我以前使用Bluehost进行虚拟主机,但我的公司正在切换到AWS。 我想知道什么是上传的PHP,HTML和CSS文件的最佳做法。 我们不断地在网站上添加和调整网页,我需要知道如何将其纳入AWS的做事方式。

以前,我们只是使用FTP客户端来更改服务器上的文件。 现在我使用Elastic Beanstalk来设置我们的堆栈,并且已经计算出如何使用FTP程序使用SFTP将file upload到EC2卷。 但是,启动新实例时,不包含最新的更改。

我知道使用Elastic Beanstalk可以上传一个新版本,但是我并不真的想要压缩,上传和部署所有文件的新版本,即使我只做了一点小改动。

我们没有托pipe一个静态的网站。 我们非常大量地使用MySQL数据库来生成和更改页面。

那里有更好的select吗? 理想情况下,我将有一个地方,以保持我的PHP等文件和任何运行的实例将从那里得到的文件。

任何帮助,方向,教程非常感谢。 谢谢

你可以在这里做几件不同的事情。

  1. 首先,使用不同的存储,而不是使用S3,在那里你存储所有的文件,并在那里上传最新的文件。

    S3更像是一个networking存储。 您可以在那里上传文件,然后从不同的实例访问它们。

  2. 第二个select是,您使用EC2命令行工具,每当您更改文件时创build一个新的AMI,并使用新的AMI启动新的实例。 通过这种情况下,你将永远拥有最新的数据。

    因此,当在ElasticBeanStalk中启动一个新的实例时,它使用默认的AMI,但可以创build新的AMI并configuration为使用新的AMI。 因此,只要完成更改,就可以创build一个将创build新AMI的脚本,并删除旧脚本并使用此AMI启动一个新实例。

  3. 按照ceejayoz的说法,第三种select是使用EC2实例来代替ElasticBeanStalk,并根据需要对其进行自定义。

我通常更喜欢第三种select,因为我想自己定制一些东西,并希望控制整个系统,软件等等。但那只是我自己。 你可以去任何上述选项。

在实例中使用可执行文件(如PHP)通常是最佳做法 – 对于Amazon Amazon Simple Storage Service(Amazon S3),在此情况下,Statics文件最好在Content Delivery Network上提供最高速度和全局镜像优势。

在亚马逊CDNnetworking上,您可以在每个容器内设置TTL。 TTL基本上是一个奇特的caching,它在检查文件是否被更新之前,在全局范围内cachingX mintues的内容。

对于图像不正常,你需要这个有一个低到期时间,所以你可以将TTL设置为2周。 当您的网站每天都对CSS文件进行主动更改时,您可以将CSS容器上的TTL设置为5分钟。

CDN对于所有不需要服务器端执行的文件来说都是理想的select – 这对于更快地提供内容非常有用,并且实际上通过限制请求来释放主服务器上的资源。

既然你熟悉FTP我强烈build议你看看:

Cyber​​duck http://www.bybe.net/downloads/try-cyberduck.jpg http://cyberduck.ch

Cyber​​duck在pipe理云上的文件,如亚马逊,Rackspace,Limelight等等的networking上是绝对惊人的。

而且,如果你需要定期更新你的服务器到PHP文件,那么你应该看看由GeekRidebuild议的EC2。 但是,不要忽略使用S3作为它更好的使用它,而不是使用它。