![为什么 Rails 应用程序有一个单独的“unicorn_rails”?](https://linux22.com/image/586900/%E4%B8%BA%E4%BB%80%E4%B9%88%20Rails%20%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E6%9C%89%E4%B8%80%E4%B8%AA%E5%8D%95%E7%8B%AC%E7%9A%84%E2%80%9Cunicorn_rails%E2%80%9D%EF%BC%9F.png)
根据 Unicorn 文档,Rails 应用程序和其他 Rack 应用程序有不同的二进制文件:
non-Rails Rack applications
In APP_ROOT, run:
unicorn
for Rails applications (should work for all 1.2 or later versions)
In RAILS_ROOT, run:
unicorn_rails
它们似乎也采用相同的命令行参数。但 Rails 是在 rack 之上构建的,所以我不明白为什么需要这种二分法。有什么原因不能只用于unicorn
Rails 应用程序吗?
答案1
来自 unicorn 文档,
它旨在帮助 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)。
http://unicorn.bogomips.org/unicorn_rails_1.html
所以,不,你根本不需要使用它。
值得一提的是,Rails 直到版本 2 后期才过渡到 Rack(我忘了)。因此,当 Unicorn 首次发布时,可能仍有大量应用程序需要支持。