那么...unicorn
和 unicorn_rails
有什么区别呢?
在什么情况下应该使用其中之一?
那么...unicorn
和 unicorn_rails
有什么区别呢?
在什么情况下应该使用其中之一?
官方在https://blog.engineyard.com/2010/everything-you-need-to-know-about-unicorn上给出了答案:
什么是unicorn可执行文件? 什么是unicorn_rails可执行文件?
unicorn
可执行文件是一个Rack工具,模仿Rack的“rackup”,适用于Rack应用程序。unicorn_rails
是为了更容易地过渡到Rails的前期版本而设计的。man页鼓励Rails 3用户使用普通的unicorn
。
有何不同之处?
根据unicorn_rails
的man页,一些约定是模仿Rails中的script/server
创建的。它在“tmp”下创建目录,如script/server
,-E / --environment
开关设置RAILS_ENV
而不是RACK_ENV
。
除此之外,根据我的经验,有些gem可能特别需要unicorn_rails
,例如activeadmin(请参见这里)
此外,man页:
它旨在帮助Rails 1.x和2.y用户过渡到Rack,但是对于Rails 3应用程序不需要。鼓励Rails 3用户使用unicorn(1)而不是unicorn_rails(1)。Rails 1.x / 2.y的用户也可以使用unicorn(1)而不是unicorn_rails(1)。