rails: 在一个 Gemfile 中指定两个 Web 服务器时会发生什么

rails: What happens when two web servers are specified in a Gemfile

如果指定了两个网络服务器(比如 puma 和 unicorn) 在 Gemfile 中,哪个优先?

我自己尝试这样做,但意识到我在 windows 上 ruby 支持不多。

带示例的长答案:

  1. 您使用 rails 5.0.0 创建了应用程序,您默认使用 puma 网络服务器。
  2. 你安装独角兽gem。并且您通过 rails server 启动服务器,您的服务器仍然是 puma。为什么 ?因为 config/puma.rb 文件是用 rails new application-name 生成的。
  3. 要启动独角兽服务器,您必须在配置文件夹中为独角兽创建一个文件。
  4. 要启动独角兽服务器,您必须在终端中执行这样的命令 unicorn -c config/unicorn.rb。 我想这就是你问题的答案。

简答:

您已明确告诉 rails 您必须 运行 使用哪个网络服务器。 Rails 不会决定要 运行(在多个 Web 服务器的情况下)。

我希望这能消除你的疑虑。 干杯