Почему я получаю сообщение об ошибке при запуске приложения ruby ​​on rails с mongrel_rails - PullRequest
1 голос
/ 24 сентября 2008

Почему я получаю следующую ошибку при попытке запустить приложение ruby ​​on 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

Ответы [ 3 ]

2 голосов
/ 24 сентября 2008

У вас уже есть процесс, прослушивающий порт 3000 (порт по умолчанию для mongrel).

Попытка:

mongrel_rails start -p 3001

и посмотрите, появляется ли аналогичная ошибка.

Если вы пытаетесь установить более одного приложения Rails, вам нужно назначить каждого монгрела на отдельный порт и соответственно отредактировать ваш apache conf.

Если вы не пытаетесь это сделать, самый прямой способ убить всех ублюдков - открыть диспетчер задач Windows и убить все процессы 'ruby'.

Обратите внимание, что если у вас установлен mongrel в качестве службы, которая запускается автоматически

mongrel_rails install::service ...

... процесс ruby ​​будет восстановлен автоматически. В этом случае вам придется редактировать свойства процесса через панель служб Windows. Дайте мне знать, если вам нужна дополнительная информация.

2 голосов
/ 24 сентября 2008

Я сам не использую mongrel в Windows, но думаю, что эта ошибка эквивалентна ошибке Linux "port in use". Вы пытаетесь привязать сервер к порту, где что-то еще уже прослушивается?

0 голосов
/ 19 августа 2009

В Windows я нашел два возможных способа решения этой проблемы:

  1. Обход: Запустите веб-сервер Mongrel в другом порту
  2. Решение: найдите процесс ruby.exe в диспетчере задач и завершите его
...