我一直在努力为客户处理Amazons AWS服务。正如一些非常难以理解的问题所证明的那样,我要问我在解决一些非常基本的问题时遇到了一些麻烦:
a)我玩了几个实例并设法使LAMP正常工作,我遇到的问题是我放在/var/www
中的代码似乎没有在这些代码之间共享机器。我该怎么做才能做到这一点?我在考虑共享EBS卷并更改Apaches文档根目录?
b)此外,将代码和资产上传到EBS / S3卷的最佳方法是什么?我应该设置一个实例来处理上述共享卷的FTP吗?
c)最后,我有一个基本的设置计划,我想让一个真正知道他们在说什么的人经营:
谢谢, 丰富。
编辑:我的解决方案适用于在谷歌上遇到此问题的任何人。
请注意我的设置还没有完成,我在这个解释中提供的bash脚本可能不是很好,尽管我对命令行非常熟悉我没有使用bash编写脚本的经验。但是,它至少应该向您展示我的设置在理论上是如何工作的。
所有AMI都是来自Alestic的Ubuntu Maverick i386。
我有两个AMI快照:
现在(这会改变)这是如何将代码部署到我的服务器:
我会提供代码示例,但它们非常不完整,我需要更多时间。我还希望将我的所有资产(css / js / img)自动推送到s3,这样他们就可以通过CloudFront向客户提供服务。
答案 0 :(得分:4)
EBS就像你可以附加到一个实例的硬盘,基本上是1:1的映射。 S3是AWS中唯一的共享存储内容,否则您将需要设置NFS服务器或类似服务器。
您可以做的是将所有php文件放在s3上,然后在启动时将它们同步到新实例。
我建议将自定义AMI与您需要安装的所有内容(apache,php等)捆绑在一起,然后设置一个cron作业来将s3中的php文件同步到您的文档根目录。您的工作流程是,将文件上传到s3,让服务器cron同步文件。
您的其他设置似乎非常标准。