Зачем нам нужно устанавливать nginx с тонкой настройкой на производство, поскольку тонкий сам по себе является веб-сервером. Каждый человек в блоге использует рубины + рельсы + nginx + тонкие?Зачем нам нужен nginx с тонкой настройкой производства?
ответ
Как указано Майклом Нингином, он тонкий (что бы это ни значило). Но другой причиной использования nginx перед любым сервером ruby является обслуживание статических файлов (если вы используете кеширование страниц, их также можно обслуживать nginx), что означает, что запросы даже не касаются вашего рубинового приложения и значительно увеличивают вашу производительность. Кроме того, nginx, хотя он, по-видимому, является популярным выбором в сообществе ruby / rails, есть и другие альтернативы, такие как apache.
Ngnix используется, чтобы загрузить баланс тонкий. Вместо этого вы можете использовать Unicorn. Подробнее об этом здесь: http://cmelbye.github.io/2009/10/04/thin-vs-unicorn.html
Тонкие и все серверы Ruby работают медленнее, чем серверы, написанные на языке C - например. Nginx и Apache при обслуживании статических файлов - изображений, изображений html и т. Д.
Nginx является легким и имеет большую поддержку параллелизма. Поэтому, когда у вас длинная передача данных, например загрузка, загрузка или медленный клиент, она окупается. Вместо того, чтобы тяжелый процесс Ruby висит в памяти, ожидая окончания передачи, у вас есть легкий процесс Nginx, который будет передавать загрузку в процесс Ruby только после того, как файл будет загружен. Или получите ответ от Rails, остановите процесс Rails и ответьте на него столько, сколько потребуется клиенту.
- 1. Зачем нам нужен mktemp?
- 2. Зачем нам нужен enabled_shared_from_this
- 3. Зачем нам нужен конструктор?
- 4. Зачем нам нужен cmake?
- 5. Зачем нам нужен org.junit.ComparisonFailure?
- 6. Зачем нам нужен Control.Lens.Reified?
- 7. Зачем нам нужен contexClassLoader
- 8. Зачем нам нужен strdup()?
- 9. Зачем нам нужен кеш?
- 10. Зачем нам нужен @GeneratedValue?
- 11. Зачем нам нужен двумерный массив?
- 12. Зачем нам нужен полукруглый разъем?
- 13. Зачем нам нужен сервер Fuseki?
- 14. Зачем нам нужен оператор «delete []»?
- 15. Зачем нам нужен частный конструктор?
- 16. Зачем нам нужен обратный адрес?
- 17. Зачем нам нужен новый оператор?
- 18. Зачем нам нужен длинный тип?
- 19. Зачем нам нужен сгенерированный код?
- 20. Зачем нам нужен TensorFlow tf.Graph?
- 21. Зачем нам нужен request.getSession (true)?
- 22. Зачем нам нужен IIS Express?
- 23. Зачем нам нужен компилятор C++?
- 24. Зачем нам нужен частный конструктор?
- 25. Зачем нам нужен Thread.sleep с двумя параметрами
- 26. Зачем нам нужен поток с реакцией?
- 27. Зачем нам нужен холст в Java 3D?
- 28. Зачем нам нужен javaScript-исполнитель для webdriver?
- 29. Помимо тестирования, зачем нам нужен кинжал 2?
- 30. Зачем нам нужен io_service в boost?
Не всегда возможно. Тонкий позволяет длительные соединения, потоковое воспроизведение и т. Д. Единорог не позволяет ни так, чтобы он сильно зависел от того, что требуется вашему приложению/серверу. –