Warum erhalte ich einen Fehler, wenn Ruby on Rails Start app mit mongrel_rails
-
02-07-2019 - |
Frage
Warum ich Fehler erhalten, wenn Sie eine Ruby on Rails-Anwendung zu starten versuche mit
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
Lösung
Sie haben bereits ein Prozess auf Port 3000 (der Standard-Port für Mischlings) zu hören.
Versuchen:
mongrel_rails start -p 3001
und sehen Sie, ob Sie einen ähnlichen Fehler.
Wenn Sie versuchen, mehr als eine Rails-Anwendung zu installieren, müssen Sie jede Mischlings auf einen separaten Port zuweisen und bearbeiten Sie Apache conf entsprechend.
Wenn Sie nicht zu tun, dass der Versuch, die direkteste Weg, um alle Bastarde töten ist Windows Task-Manager zu öffnen und töten alle ‚Rubin‘ Prozesse.
Beachten Sie, dass, wenn Sie nicht reinrassig als Dienst installiert haben, der automatisch gestartet
mongrel_rails install::service ...
... der Ruby-Prozess automatisch regenerieren. In diesem Fall werden Sie die Prozesseigenschaften durch den Windows-Dienste-Panel bearbeiten müssen. Lassen Sie mich wissen, wenn Sie weitere Informationen benötigen.
Andere Tipps
Ich benutze Mischlings nicht auf Windows selbst, aber ich denke, dass Fehler das Äquivalent von Linux‘‚Port in Verwendung‘Fehler ist. Versuchen Sie, den Server an einen Port zu binden, wo etwas anderes ist schon hören?
Unter Windows, fand ich zwei Möglichkeiten für die Festsetzung dieses Problem:
- Umgehen: Starten Sie den Mischlings Web-Server in einem anderen Port
- Lösung: Finden Sie die ruby.exe Prozess in Ihrem Task-Manager und beenden es