2013-05-04 103 views
7

我正在尋找Grails應用程序的雲託管。在過去,我已經嘗試了幾個包括CloudFoundry,JElastic,AppFog,但永遠無法成功部署應用程序。該應用程序需要:grails雲託管推薦

  • MySQL數據庫
  • ,以存儲用戶上傳的檢索插件索引文件和圖像
  • 文件系統訪問

我只使用本網站的QA,所以我不關心表現。很明顯,我希望它儘可能簡單地部署應用程序,並且我希望儘可能少地支付託管費用。

我已經嘗試使用CloudFoundry Grails插件部署到CloudFoundry,但沒有任何成功。

+0

我對cloudbees和grails有很好的使用經驗,但不確定他們的文件系統可訪問性策略。 – Alidad 2013-05-04 18:13:36

+0

顯然CloudBees提供臨時/臨時文件系統訪問,這將足以在我的應用程序在QA http://developer.cloudbees.com/bin/view/RUN/File+system+access – 2013-05-06 08:12:30

+3

我真的不明白爲什麼這個問題被認爲是不合理的。我已經提出了一個特定的與編程相關的問題「我可以在哪裏使用文件系統訪問在雲中託管Grails應用程序」。我已經證明我已經對這個主題做了一些研究,問題是什麼....? – 2013-05-07 09:05:13

回答

0

我知道這不是一個理想的解決方案,但是您可以使用mongodb的gridfs來存儲文件而不是文件系統。 Cloudfoundry支持mongodb,因爲我相信你知道。

雖然這對您的可搜索插件索引沒有幫助。

1

我已成功在Amazon EC2上託管基於Grails的網站。爲了降低成本,我使用了小的保留實例。我認爲將Amazon EC2 AMI用於臨時文件(如可搜索的索引文件)是可以的,因爲如果AMI崩潰,您可以隨時重新索引。

爲了存儲用戶圖像,我使用了使用Grails AWS SDK插件(http://grails.org/plugin/aws-sdk)的Amazon S3。使用Amazon SDK將文件上傳到S3非常容易http://blanq.github.io/grails-aws/1.2.12.1/index.html -

上傳具有公共讀取權限的文件。

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') 

我希望這會有所幫助。