2016-02-03 3 views
1

Прежде всего, я знаю this error has already been listed here, но вопрос был другим.Адрес уже используется - bind (2) для "0.0.0.0" port 3000 (Errno :: EADDRINUSE)

У меня есть приложение Rails 4, которое я использовал для запуска на Puma.

Затем, приятель мин работал над приложением и рекомендовал вместо этого использовать Foreman.

Итак, я использовал приложение локально с rails s в терминале.

Теперь я должен сделать это с foreman start.

Проблема заключается в том, почти каждый раз, когда я пытаюсь запустить приложение, я получаю следующее сообщение об ошибке:

foreman start 
08:42:28 web.1 | started with pid 3398 
08:42:28 web.1 | [3398] Puma starting in cluster mode... 
08:42:28 web.1 | [3398] * Version 2.13.4 (ruby 2.2.1-p85), codename: A Midsummer Code's Dream 
08:42:28 web.1 | [3398] * Min threads: 5, max threads: 5 
08:42:28 web.1 | [3398] * Environment: development 
08:42:28 web.1 | [3398] * Process workers: 2 
08:42:28 web.1 | [3398] * Preloading application 
08:42:31 web.1 | [3398] * Listening on tcp://0.0.0.0:3000 
08:42:31 web.1 | /Users/TXC/.rvm/gems/ruby-2.2.1/gems/puma-2.13.4/lib/puma/binder.rb:231:in `initialize': Address already in use - bind(2) for "0.0.0.0" port 3000 (Errno::EADDRINUSE) 
08:42:31 web.1 | from /Users/TXC/.rvm/gems/ruby-2.2.1/gems/puma-2.13.4/lib/puma/binder.rb:231:in `new' 
08:42:31 web.1 | from /Users/TXC/.rvm/gems/ruby-2.2.1/gems/puma-2.13.4/lib/puma/binder.rb:231:in `add_tcp_listener' 
08:42:31 web.1 | from /Users/TXC/.rvm/gems/ruby-2.2.1/gems/puma-2.13.4/lib/puma/binder.rb:98:in `block in parse' 
08:42:31 web.1 | from /Users/TXC/.rvm/gems/ruby-2.2.1/gems/puma-2.13.4/lib/puma/binder.rb:84:in `each' 
08:42:31 web.1 | from /Users/TXC/.rvm/gems/ruby-2.2.1/gems/puma-2.13.4/lib/puma/binder.rb:84:in `parse' 
08:42:31 web.1 | from /Users/TXC/.rvm/gems/ruby-2.2.1/gems/puma-2.13.4/lib/puma/runner.rb:119:in `load_and_bind' 
08:42:31 web.1 | from /Users/TXC/.rvm/gems/ruby-2.2.1/gems/puma-2.13.4/lib/puma/cluster.rb:304:in `run' 
08:42:31 web.1 | from /Users/TXC/.rvm/gems/ruby-2.2.1/gems/puma-2.13.4/lib/puma/cli.rb:215:in `run' 
08:42:31 web.1 | from /Users/TXC/.rvm/gems/ruby-2.2.1/gems/puma-2.13.4/bin/puma:10:in `<top (required)>' 
08:42:31 web.1 | from /Users/TXC/.rvm/gems/ruby-2.2.1/bin/puma:23:in `load' 
08:42:31 web.1 | from /Users/TXC/.rvm/gems/ruby-2.2.1/bin/puma:23:in `<main>' 
08:42:31 web.1 | from /Users/TXC/.rvm/gems/ruby-2.2.1/bin/ruby_executable_hooks:15:in `eval' 
08:42:31 web.1 | from /Users/TXC/.rvm/gems/ruby-2.2.1/bin/ruby_executable_hooks:15:in `<main>' 
08:42:31 web.1 | exited with code 1 
08:42:31 system | sending SIGTERM to all processes 

Как я могу это исправить?

-----

UPDATE: Я тоже попробовал и то и ниже, as recommended here:

ps aux | grep rails 
3547 0,0 0,0 2434840 752 s000 S+ 8:48  0:00.00 grep rails 

Но нет ruby bin/rails server

и что:

lsof -wni tcp:3000 
COMMAND PID USER FD TYPE    DEVICE SIZE/OFF NODE NAME 
ruby 808 TXC 8u IPv4 0x4f6da234a6116dab  0t0 TCP *:hbci (LISTEN) 
ruby 809 TXC 8u IPv4 0x4f6da234a6116dab  0t0 TCP *:hbci (LISTEN) 
ruby 810 TXC 8u IPv4 0x4f6da234a6116dab  0t0 TCP *:hbci (LISTEN) 

, но Я не уверен, что я должен делать с этим.

Должен ли я перезагружать компьютер каждый раз, когда я хочу запустить приложение локально?

+2

Если вы запустите 'netstat -na', вы видите что-то еще, используя порт 3000? – doublesharp

+1

Спасибо за ваш комментарий. Это для меня очень ново, поэтому, пожалуйста, извините мой немой вопрос: где я должен смотреть, точно? Команда генерирует 200 строк информации. –

+2

на основе вашего обновления с использованием 'lsof',' ruby' запущен, но он «безголовый», так как вы не можете управлять им из командной строки. вам нужно остановить процесс, используя порт 3000, прежде чем вы сможете начать новый. попробуйте «killall -9 ruby», а затем запустите приложение. – doublesharp

ответ

-1

Просто удалите tmp/pids/server.pid файл, а затем запустите свой сервер.

0

У меня такая же проблема. После небольшого расследования был найден NTOP

ntop - display network usage in web browser

  1. NetStat -tulpn

    ТСР 0 0 0.0.0.0:3000 0.0.0.0:* СЛУШАТЬ -

  2. NMAP 127.0.0.1

    3000/tcp open ppp