Rails 3.1にアセットクラウドを自動的にアップロードし、ローカルにホストされているものを提供する代わりにそれらを使用できる宝石や方法がありますか?コンパイル済みアセットを手動でアップロードしてから、そのアセットホストを使用するようにrails app configを変更するのは簡単ですが、アセットが変更されたときにクラウドフロントへのアップロードを再度手動で行う必要があります。これのための良い方法はありますか?Rails 3のAmazon CloudFrontへの自動資産配備?
答えて
012を参照してください私たちはS3にそれを使用していますが、私はCloudFrontの部分は、資産がS3になるとかなり簡単だと思います。
最終的には、導入プロセスで実行するために追加するレーキタスクになります。
別のオプションはhttps://github.com/moocode/asset_idです。readmeにはクラウドフロントで使用する例があります。 これはレール3.1で動作するはずですが、私は3.0.xでしか使用していません。
Ss Johnは、すべてのソリューションは、レイクタスクであり、レール内のアセットパスを変更するための少しの論理に終わるだろうと語った。
Cloudfrontsの "Custom origin"オプションを使用する場合、アップロードする必要はありません。Cloudfrontは、必要に応じてサーバーからアセットを取得します。参照をこの設定の詳細については:
確かにgithubの上 asset_sync をチェックしてください。または、Heroku開発センターの記事Using a CDN asset Host with Rails 3.1 on Herokuを参照してください。
asset_syncとCDNカスタムの起源を比較すると、アプリケーションがプロダクションで資産を遅延コンパイルしたり、アプリケーションサーバーから直接プリコンパイルして提供することができます。しかし、私はそれを言うだろう。私はそれを書きました。プリコンパイルのapplication.rbで資産バンドル:あなたはすべての資産を意味する資産をプリコンパイルすることができasset_syncとS3で
- が
- すぐに資産ホスト/ CDN上で提供する準備ができてあるだけですを必要とすることができます、生産にメモリを節約する
- あなたのアプリケーションサーバーは資産要求のために決してヒットしません。あなたは高価な計算時間を費やすことができます。コンピューティング。
- ベストプラクティスのHTTPキャッシュヘッダーはすべてデフォルト
- によって設定されているあなたは、1つの余分コンフィグ
HTTPキャッシュヘッダーがデフォルトでは設定されない理由を知っていますか?彼らは今、asset_sync設定ファイルで手動で設定する必要がありますか? config.custom_headers = {'Cache-Control' => 'max-age = 315576000'、 'Expires' => 1.year.from_now.httpdate}私は何も設定することはできません。 – Richlewis
- 1. Railsの資産に
- 2. Rails 3&開発/生産モードでの資産パイプライン
- 3. Amazon s3/Cloudfront Ruby on railsビデオストリーミング
- 4. Railsの資産パイプラインのデバッグテスト
- 5. Railsの資産コンパイルファイル名
- 6. Apacheのタペストリー:META-INF /資産の資産への絶対パス
- 7. Railsの資産が自分のフォントに問題がある
- 8. Railsの資産のプラグインフォルダを展開
- 9. Amazon S3資産のファイルパスをPaperclip gemで動的に生成
- 10. nginxはRails 3の静的資産を提供しません。
- 11. Rails 3.2資産パイプラインとRequireJS
- 12. 自動配備のベストプラクティス
- 13. のRails 3、生産
- 14. Reactネイティブ資産の配置
- 15. Amazon Cloudfrontのタイムアウトエラー
- 16. Railsの資産 - ライセンスのコメントを維持
- 17. Rails 5のES6とサーバーのコンパイル資産
- 18. Railsローカルでの資産のプリコンパイル
- 19. プロダクションの動的プリコンパイル資産
- 20. Ruby on Railsの資産パス表記
- 21. Rails 3.1アセットパイプラインベンダー/資産フォルダの組織
- 22. Rails資産pipleline:複数のスタイルシートにコンパイル
- 23. Ruby on Railsの基本キャッシングjs資産
- 24. Railsの3.1資産:資産パイプラインと3.1をレールにアップグレードした後、データベース
- 25. 更新済み資産データベースを資産フォルダに配置
- 26. Herokuへの資産の追加(プリコンパイル後)
- 27. 資産からarraylistへのデータベースのロード
- 28. 資産パイプライン/プリコンパイル資産タスク
- 29. クライアント側の動的資産のURL
- 30. 標準配備へのAmazon RDS Multi AZのダウングレード
と自動gzip圧縮を有効にすることができます...とElastic Beanstalkでを使用して、それらのために、与えられたあなたの資産はおそらくデフォルトでプリコンパイルされていますnginxサーバはクラウドフロントにサービスを提供しているので、このアプローチにはほとんど影響がありません(リクエストは決してレールアプリには当てはまらない)。 – kross