¿Hay una gema o método disponible en Rails 3.1 que pueda cargar activos en el frente de la nube de Amazon de forma automática y usarlos en lugar de servir a los alojados localmente? Supongo que es fácil cargar activos compilados manualmente y luego cambiar la configuración de la aplicación de rieles para usar ese host de activos, pero cuando se modifica un activo, las cargas al frente de la nube tendrían que hacerse manualmente de nuevo. ¿Alguna buena forma de salir de esto?Rails 3 despliegue automático de activos a Amazon CloudFront?
Respuesta
Eche un vistazo a https://github.com/rumblelabs/asset_sync - lo estamos usando solo para S3, pero supongo que la parte de CloudFront es bastante fácil una vez que los activos están en S3.
Termina siendo una tarea de rake que acaba de agregar para ejecutar en su proceso de implementación.
otra opción sería https://github.com/moocode/asset_id, el archivo Léame tiene un ejemplo para usarlo con la nube. Debería funcionar con rails 3.1 pero solo lo he usado en 3.0.x.
Ss John dijo que todas las soluciones terminarían siendo una tarea de rake + un poco de lógica para cambiar la ruta de activos en rieles.
Si usa la opción "Origen personalizado" de Cloudfronts, no necesita subir nada, Cloudfront buscará los activos de su servidor cuando sea necesario. Para los detalles de configurar esto, véase:
Sin duda la salida asset_sync en github. O nuestro artículo de Heroku dev center en Using a CDN asset Host with Rails 3.1 on Heroku.
Hay una gran mejora en el rendimiento al usar asset_sync frente a un origen personalizado CDN, permitiendo a su aplicación compilar los activos de forma perezosa en producción o servirlos precompilados directamente desde los servidores de su aplicación. Sin embargo, yo diría eso. Yo lo escribi.
- Con asset_sync y S3 se puede precompilar activos que significan todos los activos están ahí listo para ser servido en el host activo/CDN inmediatamente
- Usted puede sólo requieren los : activos bulto en application.rb de precompilación , ahorrando memoria en producción
- Sus servidores de aplicaciones NUNCA son golpeados por solicitudes de activos. Puedes gastar un tiempo de cálculo caro, ya sabes. Informática.
- mejores prácticas cabeceras de caché HTTP estén configurados de forma predeterminada
- Puede habilitar la compresión gzip automática con una configuración adicional
¿conoce alguna razón por la cual los encabezados de caché HTTP no se establecerían de manera predeterminada? ¿Ahora tienen que configurarse manualmente en el archivo de configuración asset_sync? algo como config.custom_headers = {'Cache-Control' => 'max-age = 315576000', 'Expires' => 1.year.from_now.httpdate} no puedo hacer que los míos establezcan nada ... cualquier ayuda apreciada – Richlewis
- 1. rieles Cómo subir activos precompilados a Cloudfront
- 2. Amazon CloudFront CNAME
- 3. Despliegue a Amazon EC2
- 4. ¿Necesito Amazon EC2, Cloudfront, RDS?
- 5. Rails 3 Activos de motor y estáticos
- 6. Despliegue/activos de Capistrano en Rails 3.1 falla
- 7. configuración Cloudfront para nunca volver a buscar activos
- 8. Rails 3 activos agregar? Corporal = 1
- 9. Creación de URL firmados para Amazon CloudFront
- 10. puntos image_tag a los activos/en Rails 3
- 11. Despliegue automático TFS 2010
- 12. navegador (Chrome) hace activos no caché de CloudFront
- 13. Señalando CloudFront de Amazon en un registro A no CNAME
- 14. ¿Amazon S3 envía señales de invalidación a CloudFront?
- 15. Despliegue manual frente a Amazon Elastic Beanstalk
- 16. Mejores prácticas de implementación de Amazon S3 Cloudfront
- 17. Despliegue automático con Jenkins/embarcadero
- 18. Rails 3 de despliegue de aplicaciones, Bündler y rastrillo emite
- 19. Rails 3 - Canalización de activos: ¿qué significa para mí?
- 20. Rails 3.1 Despliegue a Heroku Error
- 21. nginx no sirve activos estáticos en Rails 3
- 22. Subida de Amazon S3 Multipart con plupload y Rails 3
- 23. Rails 3.1 Activos, Cache-Control, Max-Age y expira cabeceras
- 24. ¿Cómo puedo actualizar archivos en CDN (CloudFront) de Amazon?
- 25. Video "transmisión" para dispositivos móviles con Amazon CloudFront
- 26. ¿Cómo se compara Amazon CloudFront con Limelight o Akamai?
- 27. Despliegue del sitio web en Amazon AWS
- 28. HTML5 o reproductor flash para transmisión desde Amazon Cloudfront
- 29. Actualización de Rails 3 a Rails 3.1
- 30. Cómo servir activos comprimidos desde Amazon S3
... y para aquellos que utilizan Beanstalk elástica, dados sus activos están propensos previamente compilados por defecto, el servidor nginx les servirá hasta la nube, por lo que debe haber muy pocas consecuencias para este enfoque (la solicitud nunca llega a la aplicación de rieles). – kross