Unicorn! | |
---|---|
Тип | Веб-сервер |
Написана на | Ruby >= 1.8 |
Операционная система | UNIX-подобная |
Языки интерфейса | Английский |
Первый выпуск | 11 марта 2009[1] |
Последняя версия | 4.8.3 (7 мая 2014) |
Лицензия | GNU GPL или Ruby 1.8 License |
Сайт | unicorn.bogomips.org |
Unicorn — свободный веб-сервер, написанный на языке Ruby и предназначенный для запуска Rack-приложений, в том числе написанных на фреймворках Ruby on Rails или Sinatra.
Unicorn может запускаться только под UNIX-подобными ОС (в том числе — Linux, FreeBSD, Mac OS), так как использует fork для создания воркеров. Поддерживает Ruby версии 1.8 и выше, но из-за более дружественного сборщика мусора рекомендуется использовать версии начиная с 2.0. Поддержка jRuby и других альтернативных реализаций Ruby не предусмотрена, в разработке — совместимость с Rubinius.
При запуске Unicorn создает множество клонов родительского процесса, каждый из которых используется в качестве однопоточного воркера. Каждый воркер в каждый момент времени обслуживает только одно соединение. После обработки и передачи данных клиенту воркер высвобождается и готов обслуживать следующего. Все воркеры подключаются к одному общему сокету (shared socket) или порту. Таким образом, максимальное количество одновременных обрабатываемых запросов равно числу воркеров.
Главными достоинствами Unicorn являются:
К недостаткам можно отнести следствия из принципа одно соединение — один воркер:
В реальных конфигурациях серверов с Unicorn распространено использование обратного прокси, чаще всего — nginx. В таких конфигурациях прокси решает проблему занятости воркеров при медленных клиентах, а также настраивается для раздачи статических файлов — изображений, видео, файлов CSS и JavaScript.
Существует альтернативная реализация — Rainbows , поддерживающая различные модели многопоточности воркеров.
Ввиду совместимости с Rack, Unicorn взаимозаменяем (при условии соблюдений требований к коду и совместимости с версиями Ruby и ОС) с другими реализациями веб-сервера на Руби: WEBrick, Thin, Puma, Rainbows и так далее.
Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".
Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.
Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .