Witam,
mam takie pytanie, jako że nigdzie na googlu ani na forum nie mogłem znaleźć rozwiązania. Chodzi mi konkretnie o to, jak włączyć gzip przy wysyłaniu plików statycznych?
Mam np plik javascripts/all.js albo stylesheets/all.js i chciałbym je wysyłać gzipowane, z racji dużej objętości jak na skrypt (jQuery z kilkoma pluginami itp). Tak samo jeden plik jest generowany z railsów i wysyłany do przeglądarki jako js
Czy mogę to zrobić w railsach czy muszę konkretnie w serwerze (uzywam THIN)? w php wystarczyło ob_start(“ob_gzhandler”) albo w .htaccess kompresję z ZLIB. Tutaj nie wiem za bardzo jak to ugryźć, dlatego proszę o pomoc :]
Wydaj mi się że sam sobie odpowiedziałeś. Ruby się tym nie zajmuje, tak samo rails. W PHP wątpie aby ob_gzhandler robił cokolwike z twoimi plikami css czy js.
Czego używasz do serwowania swoich aplikacji ? Nie pytam się ani o THIN/mongrel/webrick/inne tylko o serwer http
Serwerów Rails nie stawia się bezpośrednio do świata. Thin, Mongrel czy nawet Unicorn służą tylko do uruchamiania aplikacji ale nie powinny być nigdy widoczne ze świata. Przed nimi stawia się właściwy serwer www np. Nginx. To on zajmuje się skalowaniem, nadmiernym ruchem czy pakowaniem zasobów.
W php ustawiam ob_start("ob_gzhandler")
i dajmy na to generuję dynamicznie skrypt javascript, wysyłając przy okazji nagłówek Content-type: text/javascript
od tej pory skrypt jest gzipowany na wyjście, jeśli tylko przeglądarka go obsługuje
Myślałem, że w ruby on rails jest gdzieś podobna możliwość, dlatego zadałem to pytanie. Dziękuję więc za wymądrzanie się, ale oczekiwałem jakiejś bardziej kompetentnej odpowiedzi.
Zadam więc pytanie inaczej. Używam serwera na megiteam.pl, aplikację odpalam Thinem. Piszę w railsach od paru tygodni, więc nie wiem jeszcze wszystkiego o konfiguracji serwerów, ani o tym, jak to się odbywa. Do tej pory używałem Apache. Czy ktoś używa takiej konfiguracji, czy jest tam Ngix? A jeśli tak, to czy może mi ktoś powiedzieć, jak i gdzie mu to skonfigurować?
Proszę o odpowiedź, a nie 50 postów od specjalistów którzy nie udzielają odpowiedzi
Na pewno na megiteam, no strzelam ale za pewno jest gzip włączony dla passengera (to mod do apache) który serwuje twój content z thina. Jak nie to support na megiteam jest bardzo fajny, napisz mail to ci włączą. Bo do konfiguracji apache pewnie sam nie bedziesz mieć dostępu.
Jeśli się uprzesz to korzystając z powyższych możesz zrobić coś takiego jak w PHP z ob_start(“ob_gzhandler”) tyle, że to jest podejście YDIW (jak zdążyłeś się zorientować z poprzednich postów). Zapytaj support megiteam, na pewno Ci pomogą w odpowiednim ustawieniu nagłówków (jeśli pliki js generujesz dynamicznie) tak aby Apache używał dla nich kompresji.