2013-07-05 21 views

Odpowiedz

6

Jak stwierdził Michael nginx salda cienkie (cokolwiek to znaczy). Ale innym powodem używania nginx przed jakimkolwiek serwerem ruby ​​jest wyświetlanie plików statycznych (jeśli korzystasz z buforowania stron, mogą one również być obsługiwane przez nginx), co oznacza, że ​​żądania nie będą nawet dotykały twojej aplikacji Ruby i zwiększą twoją wydajność. Również nginx, chociaż wydaje się być popularnym wyborem w społeczności ruby ​​/ rails, istnieją inne alternatywy, takie jak Apache.

1

Ngnix służy do ładowania wagi cienkiej. Zamiast tego możesz użyć Unicorn. Więcej na ten temat tutaj: http://cmelbye.github.io/2009/10/04/thin-vs-unicorn.html

+0

Nie zawsze jest to możliwe. Cienki pozwala na długotrwałe połączenia, przesyłanie strumieniowe itp. Unicorn też nie pozwala, więc zależy to w dużym stopniu od tego, czego wymaga twoja aplikacja/backend. –

1

Cienkie i wszystkie serwery Ruby są wolniejsze niż serwery napisane w języku C - np. Nginx i Apache, podczas udostępniania plików statycznych - obrazy, renderowane html itp.
Nginx jest lekki i ma doskonałą obsługę współbieżności. Tak więc, gdy masz długą transmisję danych, taką jak przesyłanie, pobieranie lub powolny klient, opłaca się. Zamiast ciężkiego procesu Ruby zawieszonego w pamięci, czekającego na koniec transmisji, masz lekki proces Nginx, który przejdzie do procesu Ruby dopiero po przesłaniu pliku. Lub odbieraj odpowiedzi od Railsów, zatrzymaj proces Railsów i dostarczaj odpowiedzi tak długo, jak jest to wymagane dla klienta.

Powiązane problemy