Dlaczego musimy zainstalować nginx z cienkim na instalacji produkcyjnej, Jak cienki sam jest serwerem WWW. Na każdym blogu ludzie używają ruby + rails + nginx + thin?Dlaczego potrzebujemy nginx z cienką konfiguracją produkcyjną?
Odpowiedz
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.
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
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.
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. –