Unicorn is a Unix and LAN/localhost-optimized fork of the Mongrel HTTP server. It takes full advantage of functionality exclusive to Unix-like operating systems. It will reap and restart workers that die from broken apps, and there is no need to manage multiple processes yourself. Load balancing is done entirely by the operating system kernel. Requests never pile up behind a busy worker. The server does not care if your application is thread-safe or not, as workers all run within their own isolated address space and only serve one client at a time. All Rack applications are supported along with pre-Rack versions of Ruby on Rails via a Rack wrapper. It also supports atomic log cycling, nginx-style binary re-execution without losing connections, before_fork and after_fork hooks, and optional copy-on-write-friendly memory management.
|Tags||Ruby HTTP Servers|
|Operating Systems||Linux Unix|
|Implementation||Ruby Ragel C|
Release Notes: This release fixes a race condition during worker startup.
Release Notes: This release fixes races/error handling in the worker SIGQUIT handler.
Release Notes: This release contains fairly major internal workings of master-to-worker notifications. There are also several bugfixes and documentation updates, but no incompatibilities.
Release Notes: This release supports SO_REUSEPORT on new listeners, and adds minor tweaks and fixes.
Release Notes: This release fixes the --no-default-middleware option. There are also minor documentation updates and internal cleanups.