2008-09-24 13 views
1

爲什麼在嘗試使用爲什麼我在使用mongrel_rails在rails應用程序上啓動ruby時出現錯誤

mongrel_rails start
啓動rails應用程序中的ruby時出現以下錯誤?

 
C:\RailsTest\cookbook2>mongrel_rails start 
** WARNING: Win32 does not support daemon mode. 
** Daemonized, any open files are closed. Look at log/mongrel.pid and log/mongr 
el.log for info. 
** Starting Mongrel listening at 0.0.0.0:3000 
c:/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/bin/../lib/mongrel/t 
cphack.rb:12:in `initialize_without_backlog': Only one usage of each socket addr 
ess (protocol/network address/port) is normally permitted. - bind(2) (Errno::EAD 
DRINUSE) 
     from c:/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/bin/../ 
lib/mongrel/tcphack.rb:12:in `initialize' 
     from c:/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/bin/../ 
lib/mongrel.rb:93:in `new' 
     from c:/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/bin/../ 
lib/mongrel.rb:93:in `initialize' 
     from c:/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/bin/../ 
lib/mongrel/configurator.rb:139:in `new' 
     from c:/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/bin/../ 
lib/mongrel/configurator.rb:139:in `listener' 
     from c:/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/bin/mon 
grel_rails:99:in `cloaker_' 
     from c:/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/bin/../ 
lib/mongrel/configurator.rb:50:in `call' 
     from c:/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/bin/../ 
lib/mongrel/configurator.rb:50:in `initialize' 
     from c:/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/bin/mon 
grel_rails:84:in `new' 
     from c:/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/bin/mon 
grel_rails:84:in `run' 
     from c:/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/bin/../ 
lib/mongrel/command.rb:212:in `run' 
     from c:/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/bin/mon 
grel_rails:281 
     from c:/ruby/bin/mongrel_rails:19:in `load' 
     from c:/ruby/bin/mongrel_rails:19 

回答

2

您已經有一個進程正在監聽端口3000(mongrel的默認端口)。

嘗試:

mongrel_rails start -p 3001 

,看看你是否得到一個類似的錯誤。

如果您嘗試安裝多個Rails應用程序,則需要將每個雜項分配給一個單獨的端口並相應地編輯您的apache conf。

如果你不想這麼做,殺死所有mongrels最直接的方法是打開windows任務管理器並殺死所有'ruby'進程。

需要注意的是,如果你有雜種作爲服務安裝的自動

mongrel_rails install::service ... 

開始......紅寶石進程會自動重新生成。在這種情況下,您必須通過Windows服務面板編輯流程屬性。讓我知道你是否需要更多信息。

2

我不在Windows上使用mongrel自己,但我想這個錯誤是相當於Linux的使用端口錯誤。您是否嘗試將服務器綁定到其他位置已在監聽的端口?

+0

...最有可能的罪魁禍首是從最後一次開始它仍然運行的雜種:) – AndrewR 2008-09-24 11:19:43

0

在Windows上,我發現了兩個可能的途徑解決這個問題:圍繞

  1. 工作:啓動雜種Web服務器在另一個端口
  2. 解決方法:在你的任務管理器中找到ruby.exe過程完成它
相關問題