Aplikasi Rails 3.2.0, bekerja dengan baik dengan web server Thin, baik secara lokal maupun pada tumpukan cedar Heroku.
Setelah:
$ git branch work
$ git checkout work
$ rails server
Saya mendapat:
=> 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>'
Juga, ketika saya melakukannya:
sudo bundle exec rails server thin -p 3000
Saya mendapat:
/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>'
Saya memiliki bundler 1.0.22 diinstal. Memperbarui dan menginstalnya. Sepertinya tidak ada yang berhasil. Ada ide?
ruby-on-rails-3
git
thin
maeseele
sumber
sumber
... eventmachine-1.0.0/lib/eventmachine.rb:526:in `start_tcp_server': no acceptor (port is in use or requires root privileges) (RuntimeError)
.Jawaban:
Ini berhasil untuk saya. Temukan server (zombie?) (Dapat terjadi saat keluar dari terminal dengan server berjalan):
Jika mengembalikan sesuatu seperti:
bunuh itu, dan jalankan lagi:
sumber
ps ax | grep rails
tidak menemukan apa pun, cobaps ax | grep ruby
.Port 3000 mungkin sudah digunakan. Lihat http://mrjaba.posterous.com/starttcpserver-no-acceptor-runtimeerror
sumber
ps aux | grep rails
Jika ada proses lain yang mengunci port, Anda dapat mengetahui PID mana yang dimilikinya seperti ini:
Kemudian bunuh saja / mereka:
sumber
ntop
menggunakan port 3000 di komputer saya. Jawabannya tepat.pgrep ruby
untuk melihat server apa yang sedang berjalan dan kemudian;)
sumber
Apakah itu untuk saya
sumber
Saya mengalami kesalahan ini karena saya menjalankan rails-dev-box dengan Rails di dalamnya.
Jadi keluar dari Vagrant dan mematikannya:
Itu membantu saya.
sumber
Saya mengalami kesalahan ini karena saya sudah menjalankan rel di terminal lain. Menutup proyek saya yang lain memperbaiki ini.
sumber
Saya mengalami masalah serupa setelah kembali ke kantor dari liburan. Saya menjalankan server saya di IP lokal sebagai:
Masalahnya adalah IP saya telah berubah, saya hanya perlu menggunakan yang baru.
sumber
Jalankan ini di terminal
Lalu
sumber
ps aux | grep rails
.