簡體   English   中英

將Rails 4 App部署到Heroku Redis時出錯

[英]Error deploying Rails 4 App to Heroku redis

我有一年的時間在heroku中部署我的Rails應用程序很順利,但是最近當我嘗試推送該應用程序時卻崩潰了。 我使用heroku local對其進行了測試,並且可以運行,但是在heroku上卻沒有。

我沒有更改conf文件上的任何內容,只是突然在heroku上不起作用

Starting process with command `bundle exec puma -C config/puma.rb`
[4] Puma starting in cluster mode...
[4] * Version 3.11.0 (ruby 2.3.1-p112), codename: Love Song
[4] * Min threads: 2, max threads: 2
[4] * Environment: production
[4] * Process workers: 1
[4] * Preloading application
[4] ! Unable to load application: Redis::CannotConnectError: Error connecting to Redis on localhost:6379 (Errno::ECONNREFUSED)
bundler: failed to load command: puma (/app/vendor/bundle/ruby/2.3.0/bin/puma)
Redis::CannotConnectError: Error connecting to Redis on localhost:6379 (Errno::ECONNREFUSED)
   /app/vendor/bundle/ruby/2.3.0/gems/redis-4.0.1/lib/redis/client.rb:344:in `rescue in establish_connection'
   /app/vendor/bundle/ruby/2.3.0/gems/redis-4.0.1/lib/redis/client.rb:329:in `establish_connection'
   /app/vendor/bundle/ruby/2.3.0/gems/redis-4.0.1/lib/redis/client.rb:99:in `block in connect'
   /app/vendor/bundle/ruby/2.3.0/gems/redis-4.0.1/lib/redis/client.rb:291:in `with_reconnect'
   /app/vendor/bundle/ruby/2.3.0/gems/redis-4.0.1/lib/redis/client.rb:98:in `connect'
   /app/vendor/bundle/ruby/2.3.0/gems/redis-4.0.1/lib/redis/client.rb:363:in `ensure_connected'
   /app/vendor/bundle/ruby/2.3.0/gems/redis-4.0.1/lib/redis/client.rb:219:in `block in process'
   /app/vendor/bundle/ruby/2.3.0/gems/redis-4.0.1/lib/redis/client.rb:304:in `logging'
   /app/vendor/bundle/ruby/2.3.0/gems/redis-4.0.1/lib/redis/client.rb:218:in `process'
   /app/vendor/bundle/ruby/2.3.0/gems/redis-4.0.1/lib/redis/client.rb:118:in `call'
   /app/vendor/bundle/ruby/2.3.0/gems/redis-4.0.1/lib/redis.rb:1423:in `block in smembers'
   /app/vendor/bundle/ruby/2.3.0/gems/redis-4.0.1/lib/redis.rb:45:in `block in synchronize'
   /app/vendor/ruby-2.3.1/lib/ruby/2.3.0/monitor.rb:214:in `mon_synchronize'
   /app/vendor/bundle/ruby/2.3.0/gems/redis-4.0.1/lib/redis.rb:45:in `synchronize'
   /app/vendor/bundle/ruby/2.3.0/gems/redis-4.0.1/lib/redis.rb:1422:in `smembers'
   /app/vendor/bundle/ruby/2.3.0/gems/redis-namespace-1.6.0/lib/redis/namespace.rb:442:in `call_with_namespace'
   /app/vendor/bundle/ruby/2.3.0/gems/redis-namespace-1.6.0/lib/redis/namespace.rb:328:in `method_missing'
   /app/vendor/bundle/ruby/2.3.0/gems/resque-1.27.4/lib/resque/data_store.rb:236:in `worker_ids'
   /app/vendor/bundle/ruby/2.3.0/gems/resque-1.27.4/lib/resque/worker.rb:72:in `all'
   /app/vendor/bundle/ruby/2.3.0/gems/resque-1.27.4/lib/resque.rb:464:in `workers'
   /app/config/application.rb:44:in `<class:Application>'
   /app/config/application.rb:13:in `<module:Truckbu>'
   /app/config/application.rb:12:in `<top (required)>'
   /app/config/environment.rb:2:in `require'
   /app/config/environment.rb:2:in `<top (required)>'
   config.ru:3:in `require'
   config.ru:3:in `block in <main>'
   /app/vendor/bundle/ruby/2.3.0/gems/rack-1.6.8/lib/rack/builder.rb:55:in `instance_eval'
   /app/vendor/bundle/ruby/2.3.0/gems/rack-1.6.8/lib/rack/builder.rb:55:in `initialize'
   config.ru:in `new'
   config.ru:in `<main>'
   /app/vendor/bundle/ruby/2.3.0/gems/rack-1.6.8/lib/rack/builder.rb:49:in `eval'
   /app/vendor/bundle/ruby/2.3.0/gems/rack-1.6.8/lib/rack/builder.rb:49:in `new_from_string'
   /app/vendor/bundle/ruby/2.3.0/gems/rack-1.6.8/lib/rack/builder.rb:40:in `parse_file'
   /app/vendor/bundle/ruby/2.3.0/gems/puma-3.11.0/lib/puma/configuration.rb:318:in `load_rackup'
   /app/vendor/bundle/ruby/2.3.0/gems/puma-3.11.0/lib/puma/configuration.rb:243:in `app'
   /app/vendor/bundle/ruby/2.3.0/gems/puma-3.11.0/lib/puma/runner.rb:138:in `load_and_bind'
   /app/vendor/bundle/ruby/2.3.0/gems/puma-3.11.0/lib/puma/cluster.rb:397:in `run'
   /app/vendor/bundle/ruby/2.3.0/gems/puma-3.11.0/lib/puma/launcher.rb:183:in `run'
   /app/vendor/bundle/ruby/2.3.0/gems/puma-3.11.0/lib/puma/cli.rb:77:in `run'
   /app/vendor/bundle/ruby/2.3.0/gems/puma-3.11.0/bin/puma:10:in `<top (required)>'
  /app/vendor/bundle/ruby/2.3.0/bin/puma:23:in `load'
  /app/vendor/bundle/ruby/2.3.0/bin/puma:23:in `<top (required)>'
 State changed from starting to crashed
 Process exited with status 1

像往常一樣,在ENV中設置redis url。

我終於可以找到問題了,那是因為該項目配置為可與Redis 3.3.5一起使用。 他們更新了gem,然后更改了配置。 我通過在Gemfile中設置與當前配置兼容的gem版本來解決該問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM