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.
- 1. Dlaczego cienki za Nginx?
- 2. Dlaczego potrzebujemy wirtualnego stołu?
- 3. Dlaczego potrzebujemy włókna
- 4. Dlaczego potrzebujemy ng-click?
- 5. Dlaczego potrzebujemy metody ContinueWith?
- 6. Dlaczego potrzebujemy utworzyć zapytanie natywne?
- 7. dlaczego potrzebujemy ClassMethods i InstanceMethods?
- 8. Dlaczego potrzebujemy "algebraicznych typów danych"?
- 9. Dlaczego potrzebujemy tego specjalnego operatora ===?
- 10. SQS z konfiguracją naciowego
- 11. Dlaczego potrzebujemy, jakie korzyści wykorzystać mangusta
- 12. Dlaczego potrzebujemy puli połączeń dla JDBC?
- 13. Dlaczego potrzebujemy globalnych wyjątków w tłumie?
- 14. Dlaczego potrzebujemy klauzuli GLOB w SQLite?
- 15. Flexbox kontra tabele, dlaczego potrzebujemy flexbox?
- 16. Dlaczego potrzebujemy root i logger w log4j.xml
- 17. Dlaczego potrzebujemy ZooKeeper w stosie Hadoop?
- 18. Dlaczego potrzebujemy czwartego konstruktora dla Lollipopa?
- 19. Dlaczego potrzebujemy narzędzi do budowania stron trzecich?
- 20. co robi tf.app.flags? dlaczego potrzebujemy tego?
- 21. Dlaczego close_on_exec nie jest domyślną konfiguracją?
- 22. jak zrobić cienką strzałkę matplotlib
- 23. Dlaczego potrzebujemy "seq" lub "pseq" z "par" w Haskell?
- 24. Dlaczego seans_all_requests_local nie powiedzie się z konfiguracją rspec
- 25. Dlaczego potrzebujesz nginx z pasażerem do RoR?
- 26. Kiedy potrzebujemy .template skonstruować
- 27. Hibernate problem dialekt z konfiguracją Wiosna
- 28. Różnice między konfiguracją kompilatora i środowiska wykonawczego w Gradle
- 29. Angular 2 quickstart dlaczego potrzebujemy System.import w index.html
- 30. Zarządzanie konfiguracją kontenera automatycznego
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. –