2008-09-24 17 views
1

Pourquoi une erreur de suivi se produit-elle lorsque j'essaie de démarrer une application ruby ​​on rails avec Pourquoi une erreur se produit-elle lors du démarrage de l'application ruby ​​on rails avec mongrel_rails?

mongrel_rails start
?

 
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 

Répondre

2

Vous avez déjà un processus d'écoute sur le port 3000 (le port par défaut de mongrel).

Essayez:

mongrel_rails start -p 3001 

et voir si vous obtenez une erreur similaire.

Si vous essayez d'installer plus d'une application Rails, vous devez affecter chaque métale à un port distinct et éditer votre apache conf en conséquence.

Si vous n'essayez pas de faire cela, la façon la plus directe de tuer tous les métis est d'ouvrir le gestionnaire de tâches Windows et de tuer tous les processus 'ruby'.

Notez que si vous avez installé bâtarde comme un service qui démarre automatiquement

mongrel_rails install::service ... 

... le processus rubis régénérera automatiquement. Dans ce cas, vous devrez modifier les propriétés du processus via le panneau des services Windows. Tenez-moi au courant si vous avez besoin de plus d'informations.

2

Je ne me bâtarde sur les fenêtres moi-même, mais je pense que l'erreur est l'équivalent d'erreur « port utilisé » Linux. Essayez-vous de lier le serveur à un port où quelque chose d'autre écoute déjà?

+0

... le coupable le plus probable étant le bâtard qui fonctionne toujours depuis la dernière fois que vous l'avez commencé :) – AndrewR

0

Sous Windows, j'ai trouvé deux façons possibles pour régler ce problème:

  1. travail autour: Démarrez le serveur Web bâtarde dans un autre port
  2. Solution: Trouvez le processus ruby.exe dans votre gestionnaire de tâches et finissez-le