在Cloud9 IDE上启动PUMA时出现EADDRINUSE错误

时间:2016-06-30 21:18:08

标签: ruby-on-rails puma cloud9

我在Cloud9上启动我的开发服务器时出现此错误:

`trimakas:~/workspace (master) $ rails s -p $PORT -b $IP
=> Booting Puma
=> Rails 4.2.3 application starting in development on http://0.0.0.0:8080
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
[39230] Puma starting in cluster mode... 
[39230] * Version 3.4.0 (ruby 2.3.0-p0), codename: Owl Bowl Brawl 
[39230] * Min threads: 5, max threads: 5
[39230] * Environment: development
[39230] * Process workers: 2
[39230] * Preloading application
[39230] * Listening on tcp://0.0.0.0:8080
Exiting
/usr/local/rvm/gems/ruby-2.3.0/gems/puma-3.4.0/lib/puma/binder.rb:255:in 
`initialize': Address already in use - bind(2) 
for "0.0.0.0" port 8080 (Errno::EADDRINUSE)`

然后我试着找出它用于的原因:     lsof -wni tcp:8080

但没有发现??!

然后我绝对没有运气尝试下面的事情:

puma -C config/puma.rb

rails server -b http://0.0.0.0:8080

rails s -b 0.0.0.0 -p 8080

rails s -p $PORT -b $IP

我的puma.config文件很简单,如下所示:

environment 'development'

workers Integer(ENV['WEB_CONCURRENCY'] || 2)
threads_count = Integer(ENV['MAX_THREADS'] || 5)
threads threads_count, threads_count

preload_app!

rackup      DefaultRackup
port        8080
environment 'development'

daemonize true

on_worker_boot do
  ActiveSupport.on_load(:active_record) do
  ActiveRecord::Base.establish_connection
end
end

由于 托德

1 个答案:

答案 0 :(得分:1)

有完全相同的问题。
已经给出了解决方案here

你必须杀死所有ruby进程:

killall ruby

之后只需重新启动服务器

rails server -b $IP -p $PORT

如果您还没有找到解决方案,希望它有所帮助。