Rails 3.1中是否有可用的資源或方法,可以自動將資產上傳到亞馬遜雲端,並使用這些資源而不是服務本地託管的資產?我想手動上傳編譯的資產很容易,然後更改rails應用配置以使用該資產主機,但是當資產被修改時,上傳到雲端將需要再次手動完成。有什麼好辦法呢?將Rails 3自動資產部署到Amazon CloudFront?
回答
看看https://github.com/rumblelabs/asset_sync - 我們只是使用S3,但我猜想一旦資產在S3上,CloudFront部分就非常簡單。
它最終只是您在部署過程中添加的一個rake任務。
另一個選項是https://github.com/moocode/asset_id,自述文件中有一個示例可以將其用於cloudfront。 它應該使用rails 3.1,但我只在3.0.x上使用它。
Ss John表示,所有解決方案最終都會成爲一個rake任務+一點邏輯來改變rails中的資產路徑。
如果您使用Cloudfronts「Custom origin」選項,則不需要上傳任何內容,Cloudfront將在需要時從您的服務器獲取資產。對於這一設置見的細節:
絕對退房asset_sync在GitHub上。或者我們的Heroku開發中心文章Using a CDN asset Host with Rails 3.1 on Heroku。
有相當多使用asset_sync Vs的CDN定製的起源,讓你的應用程序編譯懶洋洋資產生產或服務於他們直接預編譯了你的應用服務器一個大的性能提升。但是我會這麼說。我寫的。
- 隨着asset_sync和S3可以預編譯的資產意味着所有資產都是有準備的資產主機上送達/ CDN立即
- 只能要求:資產在預編譯application.rb中束,在生產中節省內存
- 您的應用服務器絕不會出現資產請求。你知道,你可以花費昂貴的計算時間。計算。
- 最佳實踐HTTP緩存頭都默認爲
- 設置您可以啓用自動gzip壓縮有一個額外的配置
你知道爲什麼HTTP緩存標題不會被默認設置的原因嗎?他們現在是否必須在asset_sync配置文件中手動設置?像config.custom_headers = {'Cache-Control'=>'max-age = 315576000','Expires'=> 1.year.from_now.httpdate}我似乎無法讓我設置任何...任何幫助表示讚賞 – Richlewis
- 1. 將靜態資產部署到Amazon S3
- 2. 自動將文件部署到Amazon S3?
- 3. Rails - 部署後沒有找到資產
- 4. 使用React on Rails將資產部署到生產
- 5. Amazon S3 Cloudfront部署最佳實踐
- 6. 將nodejs部署到amazon
- 7. 使用S3/CloudFront與Rails 3資產和更少的CSS
- 8. 如何使用Ant目標快速將資產部署到Amazon S3?
- 9. Rails 3 - 資產管道 - 緩存資產
- 10. 如何使用Amazon s3部署(同步)Rails 3.1預編譯資產
- 11. 將Symfony2資產轉儲到Amazon S3
- 12. MVC 3部署自動化
- 13. ngCkeditor和Ckeditor,部署資產
- 14. rails 3.0.1動態資產生成pre/post capistrano部署
- 15. 通過git自動將資產部署到Rackspace CDN並更新對這些資產的引用?
- 16. 資產文件夾在部署capistrano時自動在公共場所創建3
- 17. Amazon Cloudfront
- 18. Rails 3.1和資產管道:用Capistrano部署時遇到問題
- 19. 部署Rails 3.1命名空間資產到Heroku
- 20. Rails 3&Heroku資產編譯
- 21. 如何將Ruby on Rails項目部署到Amazon?
- 22. 將Rails應用程序部署到Amazon Cloud的教程?
- 23. Capistrano部署舊資產
- 24. Symfony2部署到生產使用Capistrano 3
- 25. 將代碼部署到Amazon EC2實例
- 26. 將git標籤部署到Amazon Elastic Beanstalk
- 27. Capistrano部署 - 資產預編譯錯誤
- 28. 將Zone Apex域路由到Amazon Cloudfront
- 29. Rails 3服務於生產資產
- 30. 如何部署到生產webpack + Rails?
...和使用彈性青苗的,因爲你的資產在默認情況下有可能預編譯, nginx服務器將把它們提供給cloudfront,所以這種方法應該沒有什麼後果(該請求從未擊中rails應用程序)。 – kross