2

最近我的网站转移到了亚马逊。

  1. 我创建 EC2 实例。在 /var/www/http 文件夹中安装灯和设置 CodeIgnitor。结构
  2. Codeignitor 文件夹我的文件夹名称为“UPLOAD”。此文件夹用于上传图像和文件。

  3. 我从 EC2 实例制作 AMI 图像。

  4. 我已经设置了 Ec2 实例的自动缩放。

  5. 当我的旧 ec2 实例失败时,会自动创建新实例。但是我从旧 ec2 实例上的文件夹“上传”中的所有数据都丢失了。

  6. 我想将codeignitor中的“UPLOAD”文件夹与ec2实例分开。因此,每当创建新实例时,它都会获得 UPLOAD 文件夹及其内容而不会丢失。

我想分离这个上传文件夹。因此,当创建新实例时,它将获取此数据。这个怎么做。
感谢提前。

笔记 。我在 Amazon RDS 上使用过 MYSQL。

4

2 回答 2

1

You can use a shared Elastic Block Storage mounted directory.

If you manually configure your stack using the AWS Console, go to the EC2 Service in the console, then go to Elastic Block Storage -> Volumes -> Create Volume. And in your launch configuration you can bind to this storage device.

If you are using the command line tool as-create-launch-config to create your launch config, you need the argument

--block-device-mapping "key1=value1,key2=value2..."

If you are using Cloudformation to provision your stack, refer to this template for guidance.

This assumes Codeignitor can be configured to state where its UPLOAD directory is.

于 2013-02-28T13:17:35.307 回答
1

正如 Mike 所说,您可以使用EBS,但也可以使用Amazon Simple Storage Service (S3)来存储图像。

这样,每当一个实例启动时,它就可以访问所有之前从 S3 上传的图像。当然,这意味着您必须更改上传代码,以使用 AWS API 而不是文件系统将图像存储到 S3。

于 2013-03-01T13:58:04.510 回答