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