0

我目前在 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

谢谢托德

4

1 回答 1

1

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

您必须杀死所有 ruby​​ 进程:

killall ruby

之后只需重新启动服务器

rails server -b $IP -p $PORT

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

于 2016-07-31T19:58:46.110 回答