Ruby on rails 3.2 Rails更新到3.2.11中断运行多个服务器

Ruby on rails 3.2 Rails更新到3.2.11中断运行多个服务器,ruby-on-rails-3.2,Ruby On Rails 3.2,我们的应用程序在不同的端口运行两个Rails服务器,它们相互通信。使用Rails 3.2.8,我可以打开一个终端,cd到项目,运行Rails s-p3000,打开另一个终端,运行Rails s-p3001,一切都正常。GEM文件包含thin,因此thin将自动启动,但使用rails s将允许在需要时使用--debugger 因为更新了Rails 3.2.11,所以这不再有效。我收到一个错误:“服务器已经在运行。请检查/home/george/Projects/dashboard/tmp/pids

我们的应用程序在不同的端口运行两个Rails服务器,它们相互通信。使用Rails 3.2.8,我可以打开一个终端,
cd
到项目,运行
Rails s-p3000
,打开另一个终端,运行
Rails s-p3001
,一切都正常。GEM文件包含
thin
,因此
thin
将自动启动,但使用
rails s
将允许在需要时使用
--debugger


因为更新了Rails 3.2.11,所以这不再有效。我收到一个错误:“服务器已经在运行。请检查/home/george/Projects/dashboard/tmp/pids/server.pid”。我可以直接在两个端口上启动
thin
,但没有调试支持。在其中一个上启动
thin
,在另一个上启动
rails
似乎不起作用,但不清楚当错误停止服务器时,是否所有服务器任务都被终止

Stackoverflow上的其他地方提到,如果rails 3.2.11出现问题,请尝试在1.4.1锁定
rack
。到目前为止,这似乎有效。我补充说:

gem 'rack' , '1.4.1'
gemfile
,然后执行

bundle update rack

这两个命令都在检查默认的PID文件位置(
tmp/pids/server.PID
),因此您会看到此错误。尝试运行多台服务器,如下所示:

服务器1:
bundle exec rails

服务器2:
bundle exec rails s s-p 3001-p tmp/pids/server2.pid
尝试使用foreman


Railscast:

我得试试。我认为这样的修复是正确的,但在任何地方都找不到它的文档。-P标志的文档在哪里?我发现通过
bundle exec rails s--help
.Ahhh…,需要它。谢谢,你的正确答案得到了表扬。