A Rails 3.2.0アプリ。ローカルおよびHeroku杉スタックの両方でThin Webサーバーで正常に動作します。
後:
$ git branch work
$ git checkout work
$ Rails server
私は得る:
=> 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>'
また、私がするとき:
Sudo bundle exec Rails server thin -p 3000
私は得る:
/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>'
Bundler 1.0.22がインストールされています。更新してインストールしました。何も機能しないようです。何か案は?
これは私のために動作します。サーバーを見つける(ゾンビ?)(サーバーを実行している端末を終了するときに発生する可能性があります)
$ ps ax | grep Rails
次のようなものが返される場合:
33467 s002 S+ 0:00.00 grep Rails
33240 s003 S+ 0:15.05 /Users/Arta/.rbenv/versions/1.9.2-p290/bin/Ruby script/Rails s -p 3000
それを殺し、新たに実行します:
$ kill -9 33240
$ Rails s
ポート3000はすでに使用されている可能性があります。 http://mrjaba.posterous.com/starttcpserver-no-acceptor-runtimeerror を見てください
ポートをロックしている他のプロセスがある場合、次のようにどのPIDがあるかを確認できます。
$ lsof -i :3000
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
Passenger 40466 josh 5u IPv4 0x7cae9332073ed4df 0t0 TCP *:hbci (LISTEN)
Passenger 40467 josh 5u IPv4 0x7cae9332073ed4df 0t0 TCP *:hbci (LISTEN)
次に、単にそれを殺します:
$ kill -9 40466
$ kill -9 40467
pgrep Ruby
実行中のサーバーを確認してから
kill -9 serverNumber
;)
rvmsudo Rails server thin -p 3000
私のために
このエラーは、 Rails-dev-box with Rails inside。
Port 3000 in the Host computer is forwarded to port 3000 in the virtual machine.
Thus, applications running in the virtual machine can be accessed via
localhost:3000 in the Host computer.
Vagrantからログアウトされ、シャットダウンされます。
vagrant@Rails-dev-box:/vagrant/Rails$ exit
$ vagrant halt
それは私を助けました。
私はすでに別の端末でRailsを実行していたため、このエラーが発生しました。他のプロジェクトを閉じると、これが修正されました。
私は休暇からオフィスに戻った後、同様の問題に遭遇しました。次のようにローカルIPでサーバーを実行します。
Rails s thin -b <my_ip>
問題は、私のIPが変更されたことで、新しいIPを使用する必要がありました。
これをターミナルで実行します
Sudo netstat -lpn |grep Rails
その後
Sudo kill <job id>