Eine Rails 3.2.0-App, die sowohl lokal als auch auf dem Heroku-Zedernstapel problemlos mit Thin-Webservern funktioniert.
Nach dem:
$ git branch work
$ git checkout work
$ rails server
Ich bekomme:
=> 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>'
Auch wenn ich es tue:
sudo bundle exec rails server thin -p 3000
Ich bekomme:
/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>'
Ich habe Bundler 1.0.22 installiert. Aktualisiert und installiert. Nichts scheint zu funktionieren. Irgendwelche Ideen?
ruby-on-rails-3
git
thin
Maeseele
quelle
quelle
... eventmachine-1.0.0/lib/eventmachine.rb:526:in `start_tcp_server': no acceptor (port is in use or requires root privileges) (RuntimeError)
.Antworten:
Das funktioniert bei mir. Server suchen (Zombie?) (Kann passieren, wenn das Terminal bei laufendem Server beendet wird):
Wenn es etwas zurückgibt wie:
töte es und renne neu:
quelle
ps ax | grep rails
nichts auftaucht, versuchen Sie esps ax | grep ruby
.Der Port 3000 wird möglicherweise bereits verwendet. Schauen Sie sich http://mrjaba.posterous.com/starttcpserver-no-acceptor-runtimeerror an
quelle
ps aux | grep rails
Wenn ein anderer Prozess den Port sperrt, können Sie herausfinden, welche PID er hat:
Dann töte es einfach / sie:
quelle
ntop
Ich habe Port 3000 auf meinem Computer verwendet. Die Antwort ist genau richtig.pgrep ruby
um zu sehen, welche Server laufen und dann;)
quelle
Tut es für mich
quelle
Ich habe diesen Fehler, weil ich Rails-Dev-Box mit Rails darin ausgeführt habe.
Also wird von Vagrant abgemeldet und heruntergefahren:
Das hat mir geholfen.
quelle
Ich hatte diesen Fehler, weil ich bereits Schienen in einem anderen Terminal lief. Das Schließen meines anderen Projekts hat dies behoben.
quelle
Nachdem ich aus dem Urlaub ins Büro zurückgekehrt war, stieß ich auf ein ähnliches Problem. Ich führe meinen Server auf der lokalen IP aus als:
Das Problem war, dass sich meine IP geändert hatte, ich musste nur die neue verwenden.
quelle
Führen Sie dies im Terminal aus
Und dann
quelle
ps aux | grep rails
.