Ruby on rails 3.2 Rails更新到3.2.11中断运行多个服务器
我们的应用程序在不同的端口运行两个Rails服务器,它们相互通信。使用Rails 3.2.8,我可以打开一个终端,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
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…,需要它。谢谢,你的正确答案得到了表扬。