through rails deploy ruby-on-rails-3 git thin

ruby-on-rails-3 - deploy - ruby on rails passenger



Servidor web delgado: `start_tcp_server '': no aceptador(RuntimeError) después de la extracción de git branch (9)

Una aplicación Rails 3.2.0, que funciona bien con el servidor web Thin, tanto localmente como en la pila de cedro Heroku.

Después:

$ git branch work $ git checkout work $ rails server

Yo obtengo:

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

Además, cuando lo hago:

sudo bundle exec rails server thin -p 3000

Yo obtengo:

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

Tengo el bundler 1.0.22 instalado. Actualizado e instalado. Nada parece funcionar. ¿Algunas ideas?


servidor rvmsudo rails thin -p 3000

Lo hace por mi


Ejecute esto en la terminal

sudo netstat -lpn |grep rails

Y entonces

sudo kill <job id>



Esto funciona para mí Encontrar (¿zombie?) Servidor (puede suceder al salir de la terminal con el servidor ejecutándose):

$ ps ax | grep rails

Si devuelve algo como:

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

matarlo, y ejecutar de nuevo:

$ kill -9 33240 $ rails s


Me encontré con un problema similar después de regresar a la oficina de vacaciones. Ejecuto mi servidor en la IP local como:

rails s thin -b <my_ip>

El problema era que mi IP había cambiado, solo necesitaba usar la nueva.


Si hay algún otro proceso que bloquee el puerto, puedes averiguar qué PID tiene así:

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

Entonces simplemente mátalo / ellos:

$ kill -9 40466 $ kill -9 40467


Tengo este error porque estaba ejecutando rails-dev-box con Rails dentro de él.

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.

Así que se desconectó de Vagrant y lo cerró:

vagrant@rails-dev-box:/vagrant/rails$ exit $ vagrant halt

Eso me ayudó.


Tuve este error porque ya estaba usando raíles en otra terminal. El cierre de mi otro proyecto solucionó esto.


pgrep ruby para ver qué servidores se están ejecutando y luego

kill -9 serverNumber

;)