According to the Unicorn docs, there are different binaries for Rails apps and other Rack apps:

non-Rails Rack applications

In APP_ROOT, run:


for Rails applications (should work for all 1.2 or later versions)



They seem to also take the same command-line parameters. But Rails is built on top of rack, so I don't understand why this dichotomy is required. Is there any reason you can't just use unicorn for Rails apps?


From the unicorn docs,

It is designed to help Rails 1.x and 2.y users transition to Rack, but it is NOT needed for Rails 3 applications. Rails 3 users are encouraged to use unicorn(1) instead of unicorn_rails(1). Users of Rails 1.x/2.y may also use unicorn(1) instead of unicorn_rails(1).


So, no, you don't need to use it at all.

It's worth pointing out that Rails only made the transition to Rack in late version 2 (I forget). So, when Unicorn first got released there were probably still a bunch of apps that had to be supported.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.