【问题标题】:Running two puma servers at once for the same rails project, force kills one of the servers?为同一个 Rails 项目同时运行两台 puma 服务器,强制杀死其中一台服务器?
【发布时间】:2017-03-04 14:00:11
【问题描述】:

我想在不同端口上从同一目录运行两个 Rails 服务器。这是我尝试过的:

  1. rails s,它在端口 3000 上启动我的服务器。
  2. 在另一个终端选项卡中,我运行 puma -p 7676,这会在端口 7676 上启动另一个服务器。

无论我以什么顺序运行这些命令,无论我将puma 切换为rails s,其中一台服务器总是会关闭。

它显示的错误是:

A server is already running. Check /Users/<username>/<appname>/tmp/pids/server.pid.

现在,根据几个堆栈溢出的答案,您似乎可以告诉命令它应该在哪里查找 pid:

  1. rails s
  2. rails s -p 3007 -P `pwd`/tmp/pids/alternative_server.pid

这失败并出现完全相同的错误:

A server is already running. Check /Users/&lt;username&gt;/&lt;appname&gt;/tmp/pids/server.pid.

到目前为止,我唯一的办法是将我的项目克隆到一个单独的目录中并从那里运行服务器。这显然不理想,因为我需要继续拉动我在分支上所做的任何更改。

版本:

  1. 彪马:Version 3.6.0 (ruby 2.3.1-p112)
  2. 导轨:5.0.0.1

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-5 puma


    【解决方案1】:

    您需要在config/puma.rb 中评论plugin :tmp_restart

    这是这个插件的源代码:https://github.com/puma/puma/blob/master/lib/puma/plugin/tmp_restart.rb

    【讨论】:

    • 有趣。非常感谢您的回答。我知道 puma 重启插件存在问题,但从未检查过我的配置中的 puma 文件!
    猜你喜欢
    • 1970-01-01
    • 2017-07-30
    • 2014-08-29
    • 1970-01-01
    • 1970-01-01
    • 2016-04-14
    • 2014-11-23
    • 2012-07-26
    相关资源
    最近更新 更多