Aplikacja Rails 3.2.0, działająca dobrze z serwerem WWW Thin, zarówno lokalnie, jak i na stosie cedrowym Heroku.
Po:
$ git branch work
$ git checkout work
$ rails server
Dostaję:
=> Booting Thin
=> Rails 3.2.0 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
>> Thin web server (v1.3.1 codename Triple Espresso)
>> Maximum connections set to 1024
>> Listening on 0.0.0.0:3000, CTRL+C to stop
Exiting
/Users/peter/.rvm/gems/ruby-1.9.3-p125/gems/eventmachine-0.12.10/lib/eventmachine.rb:572:in `start_tcp_server': no acceptor (RuntimeError)
from /Users/peter/.rvm/gems/ruby-1.9.3-p125/gems/eventmachine-0.12.10/lib/eventmachine.rb:572:in `start_server'
from /Users/peter/.rvm/gems/ruby-1.9.3-p125/gems/thin-1.3.1/lib/thin/backends/tcp_server.rb:16:in `connect'
from /Users/peter/.rvm/gems/ruby-1.9.3-p125/gems/thin-1.3.1/lib/thin/backends/base.rb:53:in `block in start'
from /Users/peter/.rvm/gems/ruby-1.9.3-p125/gems/eventmachine-0.12.10/lib/eventmachine.rb:256:in `call'
from /Users/peter/.rvm/gems/ruby-1.9.3-p125/gems/eventmachine-0.12.10/lib/eventmachine.rb:256:in `run_machine'
from /Users/peter/.rvm/gems/ruby-1.9.3-p125/gems/eventmachine-0.12.10/lib/eventmachine.rb:256:in `run'
from /Users/peter/.rvm/gems/ruby-1.9.3-p125/gems/thin-1.3.1/lib/thin/backends/base.rb:61:in `start'
from /Users/peter/.rvm/gems/ruby-1.9.3-p125/gems/thin-1.3.1/lib/thin/server.rb:159:in `start'
from /Users/peter/.rvm/gems/ruby-1.9.3-p125/gems/rack-1.4.1/lib/rack/handler/thin.rb:13:in `run'
from /Users/peter/.rvm/gems/ruby-1.9.3-p125/gems/rack-1.4.1/lib/rack/server.rb:265:in `start'
from /Users/peter/.rvm/gems/ruby-1.9.3-p125/gems/railties-3.2.0/lib/rails/commands/server.rb:70:in `start'
from /Users/peter/.rvm/gems/ruby-1.9.3-p125/gems/railties-3.2.0/lib/rails/commands.rb:55:in `block in <top (required)>'
from /Users/peter/.rvm/gems/ruby-1.9.3-p125/gems/railties-3.2.0/lib/rails/commands.rb:50:in `tap'
from /Users/peter/.rvm/gems/ruby-1.9.3-p125/gems/railties-3.2.0/lib/rails/commands.rb:50:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'
Ponadto, kiedy to robię:
sudo bundle exec rails server thin -p 3000
Dostaję:
/Users/peter/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:247:in `to_specs': Could not find bundler (>= 0) amongst [bigdecimal-1.1.0, io-console-0.3, json-1.5.4, minitest-2.5.1, rake-0.9.2.2, rdoc-3.9.4] (Gem::LoadError)
from /Users/peter/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:256:in `to_spec'
from /Users/peter/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems.rb:1210:in `gem'
from /Users/peter/.rvm/gems/ruby-1.9.3-p125/bin/bundle:18:in `<main>'
Mam zainstalowany pakiet 1.0.22. Zaktualizowano i zainstalowałem. Wydaje się, że nic nie działa. Jakieś pomysły?
ruby-on-rails-3
git
thin
maeseele
źródło
źródło
... eventmachine-1.0.0/lib/eventmachine.rb:526:in `start_tcp_server': no acceptor (port is in use or requires root privileges) (RuntimeError)
.Odpowiedzi:
To działa dla mnie. Znajdź serwer (zombie?) (Może się zdarzyć podczas zamykania terminala z uruchomionym serwerem):
Jeśli zwróci coś takiego:
zabij go i biegnij od nowa:
źródło
ps ax | grep rails
nic się nie pojawi , spróbujps ax | grep ruby
.Port 3000 może już być używany. Spójrz na http://mrjaba.posterous.com/starttcpserver-no-acceptor-runtimeerror
źródło
ps aux | grep rails
Jeśli istnieje inny proces blokujący port, możesz dowiedzieć się, który PID ma w następujący sposób:
Następnie po prostu zabij to / je:
źródło
ntop
używał portu 3000 na moim komputerze. Odpowiedź jest na miejscu.pgrep ruby
aby zobaczyć, jakie serwery działają, a następnie;)
źródło
Robi to dla mnie
źródło
Mam ten błąd, ponieważ uruchomiłem rails-dev-box z Railsami w środku.
Więc wylogowuje się z Vagrant i zamyka go:
To mi pomogło.
źródło
Miałem ten błąd, ponieważ miałem już uruchomione railsy w innym terminalu. Zamknięcie mojego innego projektu rozwiązało ten problem.
źródło
Podobny problem napotkałem po powrocie do biura z wakacji. Uruchamiam serwer na lokalnym IP jako:
Problem polegał na tym, że zmieniło się moje IP, po prostu musiałem użyć nowego.
źródło
Wykonaj to w terminalu
I wtedy
źródło
ps aux | grep rails
.