2013-07-05 1 views

ответ

6

Как указано Майклом Нингином, он тонкий (что бы это ни значило). Но другой причиной использования nginx перед любым сервером ruby ​​является обслуживание статических файлов (если вы используете кеширование страниц, их также можно обслуживать nginx), что означает, что запросы даже не касаются вашего рубинового приложения и значительно увеличивают вашу производительность. Кроме того, nginx, хотя он, по-видимому, является популярным выбором в сообществе ruby ​​/ rails, есть и другие альтернативы, такие как apache.

1

Ngnix используется, чтобы загрузить баланс тонкий. Вместо этого вы можете использовать Unicorn. Подробнее об этом здесь: http://cmelbye.github.io/2009/10/04/thin-vs-unicorn.html

+0

Не всегда возможно. Тонкий позволяет длительные соединения, потоковое воспроизведение и т. Д. Единорог не позволяет ни так, чтобы он сильно зависел от того, что требуется вашему приложению/серверу. –

1

Тонкие и все серверы Ruby работают медленнее, чем серверы, написанные на языке C - например. Nginx и Apache при обслуживании статических файлов - изображений, изображений html и т. Д.
Nginx является легким и имеет большую поддержку параллелизма. Поэтому, когда у вас длинная передача данных, например загрузка, загрузка или медленный клиент, она окупается. Вместо того, чтобы тяжелый процесс Ruby висит в памяти, ожидая окончания передачи, у вас есть легкий процесс Nginx, который будет передавать загрузку в процесс Ruby только после того, как файл будет загружен. Или получите ответ от Rails, остановите процесс Rails и ответьте на него столько, сколько потребуется клиенту.

Смежные вопросы