7

我正在寻找 Grails 应用程序的云托管。过去,我尝试过 CloudFoundry、JElastic、AppFog 等几种,但始终无法成功部署应用程序。该应用程序需要:

  • MySQL数据库
  • 文件系统访问,以存储用户上传的可搜索插件索引文件和图像

我只会将此站点用于质量检查,因此不关心性能。显然,我希望部署应用程序尽可能简单,并且我希望为托管支付尽可能少的费用。

我已经尝试使用 CloudFoundry Grails 插件部署到 CloudFoundry,但没有任何成功。

4

2 回答 2

1

我已经成功地在 Amazon EC2 上托管了基于 Grails 的网站。为了降低成本,我使用了小型预留实例。我认为可以将 Amazon EC2 AMI 用于临时文件,例如可搜索的索引文件,因为如果 AMI 崩溃,您始终可以重新索引。

为了存储用户图像,我使用 Amazon S3 和 Grails AWS 开发工具包插件 ( http://grails.org/plugin/aws-sdk )。使用 Amazon SDK http://blanq.github.io/grails-aws/1.2.12.1/index.html将文件上传到 S3 非常容易-

上传具有公共读取权限的文件。

amazonWebService.s3.putObject(new PutObjectRequest('some-grails-bucket', 
'somePath/someKey.jpg', new  File('/Users/ben/Desktop/photo.jpg')).withCannedAcl( CannedAccessControlList.PublicRead ) )

下载一个文件。

amazonWebService.s3.getObject(new GetObjectRequest('some-grails-bucket', 
'somePath/someKey.jpg'), new File('/Users/ben/Downloads/photo.jpg'))

删除一个文件。

amazonWebService.s3.deleteObject('some-grails-bucket', 'somePath/someKey.jpg')

我希望这有帮助。

于 2013-05-04T23:48:00.457 回答
0

我知道这不是一个理想的解决方案,但是您可以使用 mongodb 的 gridfs 来存储您的文件而不是文件系统。Cloudfoundry 支持 mongodb,我相信你知道。

不过,这对您的可搜索插件索引没有帮助。

于 2013-05-04T20:28:03.077 回答