Quanto codice ruby si occupa di pubblicare contenuto statico in pubblico? Passa attraverso l'app per rotaie? Usa Rack::Static?In che modo Rails distribuisce il contenuto statico al pubblico?
risposta
Rails non utilizza Rack::Static
, ha una propria versione, ActionDispatch::Static
. Dovresti vederlo se esegui rake middleware
.
Questo viene aggiunto solo allo stack middleware Rails if config.serve_static_assets
is true. Questa impostazione defaults to true, ma il valore predefinito è config/environments/production.rb
turns if off.
L'idea è che durante lo sviluppo si disponga di un singolo processo semplice che è possibile eseguire e controllare che tutto funzioni e in cui le prestazioni non sono un problema, ma quando si distribuisce in produzione si configura il server Web (di solito Apache o Nginx) per servire i file statici in quanto è molto meglio di quello di Ruby.
Se si utilizza Heroku, il loro ultimo stack Cedar non utilizza un server Web separato per i file statici, pertanto, come parte dello deploy process, iniettano uno Rails plugin to serve static assets. Tutto questo plugin è impostato su serve_static_assets
su true.
Dipende. Se stai utilizzando qualcosa come phusion passenger per eseguire la tua app, il suo comportamento predefinito è usare Apache direttamente e saltare i binari per qualsiasi contenuto statico. Se stai usando webrick (server di rails) userà molto più rotaie/codice rack per eseguire la pubblicazione statica.
Una nota però, se si utilizza apache/nginx con passeggero: in modalità produzione, poiché l'impostazione predefinita è lasciare che apache pubblichi tutto il contenuto statico, sarà necessario eseguire rake assets:precompile
sull'applicazione prima di avviarla in apache o il contenuto statico non viene messo dove deve essere per apache per farlo in fretta, e in un modulo pronto per i prod.
- 1. Come eseguire il contenuto statico in Rails?
- 2. C++ Accesso al membro statico privato dal metodo statico pubblico?
- 3. Protezione del contenuto del pubblico/in un'applicazione Rails
- 4. In che modo la tua azienda distribuisce il suo software?
- 5. pubblico statico vs pubblico statico - c'è una differenza?
- 6. in che modo pubblico è un repository pubblico github?
- 7. Accesso al metodo java statico pubblico da scala
- 8. Costruttore pubblico e costruttore statico
- 9. Scala: finale statico pubblico in una classe
- 10. Come servire il contenuto statico in Nancy
- 11. AspIdentiy ApplicationUserManager è statico, come estendere in modo che partecipi al mio framework IoC?
- 12. Qual è il modo migliore per gestire il contenuto html generato dall'utente che verrà visualizzato dal pubblico?
- 13. Come forzare ProGuard a rimuovere il metodo statico pubblico?
- 14. Dove dovrei posizionare il vuoto statico pubblico Main?
- 15. Contenuto statico gzip espresso
- 16. Distribuire un'applicazione al pubblico in modo che possano compilare, senza rivelare la fonte
- 17. VideoView non ridimensiona il contenuto in modo che corrisponda al padre
- 18. Il modo più semplice per utilizzare openid come autenticazione per il contenuto statico
- 19. Un modo per forzare le classi ad avere un campo finale statico pubblico in Java?
- 20. Teorico: è possibile/fattibile servire il contenuto statico tramite Websockets?
- 21. CMake che distribuisce le librerie richieste
- 22. Esiste un modo per distribuire/aggiornare solo il contenuto statico in GAE?
- 23. Nginx che serve contenuto statico e proxy per apache
- 24. Django: contenuto statico non trovato
- 25. Impossibile accedere al metodo non statico in contesto statico?
- 26. Rileva se l'indirizzo IP pubblico è dinamico o statico
- 27. Impossibile connettersi al server Rails in esecuzione su EC2 da IP pubblico
- 28. Postgres che distribuisce dati su più dischi
- 29. Impossibile interrompere l'attivazione del modulo ASP.NET per il contenuto statico
- 30. Rails 4 asset statici in pubblico/o app/assets/