Czy w Rails 3.1 dostępne są klejnoty lub metody, które automatycznie przesyłają zasoby do chmury amazon i używają ich zamiast serwerów lokalnych? Domyślam się, że łatwo jest ręcznie przesłać skompilowane zasoby, a następnie zmienić konfigurację aplikacji szyny, aby korzystać z tego hosta zasobów. Jednak po zmodyfikowaniu zasobu przesyłanie do chmury będzie musiało zostać wykonane ponownie ręcznie. Jakieś dobre sposoby na to?Rails 3 automatyczne wdrażanie zasobów do Amazon CloudFront?
Odpowiedz
Spójrz na https://github.com/rumblelabs/asset_sync - używamy go tylko do S3, ale myślę, że część CloudFront jest całkiem łatwa, gdy zasoby są na S3.
Kończy się to zadaniem prowizji, które po prostu dodajesz do wykonania w procesie wdrażania.
Inną opcją będzie https://github.com/moocode/asset_id, readme ma przykład, aby używać go z chmurą. Powinien działać z szynami 3.1, ale użyłem go tylko w wersji 3.0.x.
Ss John powiedział, że wszystkie rozwiązania staną się zadaniem prowizji + trochę logiki, aby zmienić ścieżkę aktywów w szynach.
Jeśli używasz opcji "Niestandardowe pochodzenie" Cloudfronts, nie musisz niczego przesyłać, Cloudfront pobierze zasoby z twojego serwera w razie potrzeby. Szczegółowe informacje na temat konfigurowania tej stronie:
pewno sprawdzić asset_sync na github. Lub nasz artykuł o centrum deweloperskim Heroku pod numerem Using a CDN asset Host with Rails 3.1 on Heroku.
Występuje spore polepszenie wydajności korzystania z niestandardowego źródła CDN asset_sync, pozwalając aplikacji leniwie kompilować zasoby w produkcji lub serwując je prekompilowane bezpośrednio z serwerów aplikacji. Powiedziałbym jednak to. Napisałem to.
- Z asset_sync i S3 można precompile aktywa oznaczające wszystkie aktywa są tam gotowe do podania na hoście aktywów/CDN natychmiast
- Można wymagać wyłącznie : aktywa zawiniątko w environment.rb na prekompilacji , oszczędzanie pamięci w produkcji
- Twoje serwery aplikacji NIGDY nie trafiają w przypadku żądań zasobów. Możesz spędzić drogie czasy obliczeniowe, wiesz. Przetwarzanie danych. wszystko
- Najlepsze nagłówki HTTP cache praktyka są ustawione domyślnie
- Można włączyć automatyczną kompresję gzip z dodatkowym config
czy znasz przyczynę, dlaczego nagłówki pamięci podręcznej HTTP nie będą ustawione domyślnie? Czy teraz trzeba je ustawić ręcznie w pliku konfiguracyjnym asset_sync? coś w stylu config.custom_headers = {'Cache-Control' => 'max-age = 315576000', 'Expires' => 1.year.from_now.httpdate} Nie mogę wydobyć mojego, żeby ustawić cokolwiek ... każda pomoc doceniona – Richlewis
- 1. Rails 3 - Amazon S3 Spinacz UE Problem
- 2. Rails Jak przesłać aktywa skompilowane do CloudFront
- 3. konfiguracja Cloudfront, aby nigdy nie pobierać zasobów
- 4. Automatyczne prekompilowanie zasobów przed wysłaniem do Heroku
- 5. Automatyczne wdrażanie TFS 2010
- 6. Amazon S3 i Cloudfront z Java API
- 7. Automatyczne programowanie zasobów stylowych
- 8. Automatyczne skalowanie zasobów Androida
- 9. Czy Amazon S3 wysyła sygnały unieważniające do CloudFront?
- 10. Wdrażanie wyszukiwania w aplikacji Ruby on Rails 3?
- 11. zasobów vs szyny zasobów 3
- 12. Rozmieszczanie w usłudze Amazon S3 Cloudfront Najlepsze praktyki
- 13. CloudFront: Kosztorys
- 14. Wdrażanie algorytmu python naukowych na Amazon ec2
- 15. Ręczne wdrażanie w porównaniu z Amazon Elastic Beanstalk
- 16. Rails 4, spinacz do papieru, Amazon S3 Config Amazon Path
- 17. Rails 3 Server na EC2
- 18. Automatyczne wdrażanie i testowanie w języku PHP
- 19. Jak Amazon CloudFront ma porównanie z Limelight lub Akamai?
- 20. Wskazując CloudFront Amazon na rekord A, a nie na CNAME
- 21. Rails 3.1 zasobów nie minimalizuje
- 22. Akamai kontra CloudFront
- 23. Jak działa automatyczne skalowanie Amazon EC2?
- 24. Rails 3: Trasy poddomen
- 25. Rails 3 has_many changed?
- 26. Rails 3 Rekomendacja CMS
- 27. Wdrażanie Rails 4.1 do AWS nie prekompiluje aktywów
- 28. Wdrażanie Capistrano kończy się niepowodzeniem po aktualizacji do Rails 3.2.11
- 29. Called id do zera w Rails 3
- 30. Rozwiązania autoryzacji Rails 3
... i dla tych, którzy za pomocą elastycznego łodydze, biorąc pod uwagę swoje aktywa są prawdopodobnie prekompilowana domyślnie serwer nginx będzie obsługiwał je w chmurze, więc nie powinno to mieć większego wpływu na to podejście (żądanie nigdy nie trafia do aplikacji rails). – kross