Pergunta

Por que eu obter seguinte erro ao tentar iniciar um aplicativo Ruby on rails com

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
Foi útil?

Solução

Você já tem uma escuta processo na porta 3000 (a porta padrão para vira-lata).

Tente:

mongrel_rails start -p 3001

e veja se você receber um erro semelhante.

Se você está tentando instalar mais de um app Rails, você precisa atribuir a cada vira-lata a uma porta e edição que apache conf conformidade separado.

Se você não tentar fazer isso, a maneira mais direta de matar todos os mestiços é gerenciador de tarefas janelas e matar todos os processos de 'Ruby'.

Note que se você tiver mestiço instalado como um serviço que é iniciado automaticamente

mongrel_rails install::service ...

... o processo de rubi vai gerar automaticamente. Nesse caso, você terá que editar as propriedades do processo através do painel de serviços do Windows. Deixe-me saber se você precisar de mais informações.

Outras dicas

Não uso vira-lata em janelas mim, mas eu acho que o erro é o equivalente a Linux' erro 'porta em uso'. Você está tentando vincular o servidor a uma porta, onde outra coisa já está escutando?

No Windows, eu encontrei duas maneiras possíveis para corrigir esse problema:

  1. Trabalho em torno de: Iniciar o servidor web vira-lata em outra porta
  2. Solução: Encontrar o processo ruby.exe em seu gerenciador de tarefas e terminá-lo
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top