Unicorn is a Unix and LAN/localhost-optimized fork of the Mongrel HTTP server. It is 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 |
|---|---|
| Licenses | GPLv2 |
| Operating Systems | Linux Unix |
| Implementation | Ruby Ragel C |
Recent releases


Release Notes: Minor bugfixes and documentation improvements.


Release Notes: The last-resort timeout mechanism was inaccurate and often delayed in activation since the 2.0.0 release. This has been fixed and remains power-efficient in idle situations, especially with the wakeup reduction in MRI 1.9.3+.


Release Notes: Rack::Chunked and Rack::ContentLength middlewares are loaded by default for RACK_ENV=(development|deployment) users. CTL characters are now rejected from HTTP header values and Exception messages are now filtered for [:cntrl:] characters. There were minor bugfixes and future-proofing changes for Ruby 2.0.


Release Notes: This release fixes things for users of per-worker "listen" directives in the after_fork hook.


Release Notes: This release allows a single instance to run more than 1024 workers without needing privileges to modify resource limits. TCP socket defaults now favor low latency (instead of throughput). Error logging is more consistent. The call stack is shorter.
An object-oriented, type safe, multi-threaded approach to computer algebra.