Запустить сервер беспородных в терминале

Если я начну монгрел, ошибка придет. Что я могу сделать? Подскажите, пожалуйста, еще один способ запустить Mongrel...

$script/server mongrel

=> Booting Mongrel (use 'script/server webrick' to force WEBrick)
=> Rails 2.2.2 application starting on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
** Starting Mongrel listening at 0.0.0.0:3000
Exiting
/usr/lib/ruby/1.8/mongrel/tcphack.rb:12:in `initialize_without_backlog': Address already in use - bind(2) (Errno::EADDRINUSE)
    from /usr/lib/ruby/1.8/mongrel/tcphack.rb:12:in `initialize'
    from /usr/lib/ruby/1.8/mongrel.rb:93:in `new'
    from /usr/lib/ruby/1.8/mongrel.rb:93:in `initialize'
    from /usr/lib/ruby/1.8/mongrel/configurator.rb:139:in `new'
    from /usr/lib/ruby/1.8/mongrel/configurator.rb:139:in `listener'
    from /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/mongrel_rails:99:in `cloaker_'
    from /usr/lib/ruby/1.8/mongrel/configurator.rb:50:in `call'
    from /usr/lib/ruby/1.8/mongrel/configurator.rb:50:in `initialize'
     ... 19 levels...
    from /usr/lib/ruby/gems/1.8/gems/rails-2.2.2/lib/commands/server.rb:49
    from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
    from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
    from script/server:3
thanks 
kingston

2 ответа

Ошибка означает, что у вас уже работает другой сервер на порту 3000. Либо выйдите из этого сервера, либо запустите Mongrel на другом порту.

$ script/server mongrel -p 3001

У меня был такой опыт, когда я запускаю сервер mongrel и использую Ctrl-C чтобы отключить сервер mongrel в ubuntu, сервер не будет отключен, и я не смогу запустить сервер mongrel в том же порту до некоторого времени (или, возможно, до перезагрузки системы). Таким образом, не выходите из терминала во время работы сервера Mongrel. Когда вам нужно выключить сервер Mongrel, используйте Ctrl-Alt-C в убунту.

Другие вопросы по тегам