Thin 웹 서버 :`start_tcp_server ‘: git 브랜치 체크 아웃 후 수락 자 없음 (RuntimeError) `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

로컬 및 Heroku cedar 스택에서 Thin 웹 서버와 잘 작동하는 Rails 3.2.0 앱.

후:

$ 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>'

번 들러 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 레일 서버 Thin -p 3000

나를 위해 해


답변

Rails가 내부에있는 rails-dev-box 를 실행했기 때문에이 오류가 발생 합니다.

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

그것은 나를 도왔다.


답변

이미 다른 터미널에서 레일을 실행하고 있었기 때문에이 오류가 발생했습니다. 내 다른 프로젝트를 닫으면이 문제가 해결되었습니다.