2017-12-01 13 views
0

heroku에서 내 레일 앱을 문제없이 배포하는 데 어려움이 있었지만 최근에 앱을 밀어 넣으려고하면 그냥 충돌합니다. 나는 heroku local을 사용하여 그것을 테스트했고 그것은 작동하지만 heroku에서는 그렇지 않습니다.Rails 4 App을 Heroku redis로 배포하는 중 오류가 발생했습니다.

나는 그냥 갑자기 Heroku가 레디 스 URL이 평소와 같이 ENV에 설정되어

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 

에서 작동하지 않는 파일 conf의에 아무것도 변경하지 않았다.

+0

그리고 로컬 Redis URL 또는 외부 서비스를 구성 했습니까? – spickermann

+0

@spickermann 당신은 무엇을 의미합니까? heroku에서 그것은 REDIS_URL config var에서 URL을 선택해야하지만 어떤 이유로 지금은 작동하지 않습니다. – xpiero

+0

Heroku 설정에서'REDIS_URL'을 구성했는지, 그리고 그 값이'localhost'가 아닌지 확인해 달라. 'config/application.rb'의'44' 행은 어떻게 생겼습니까? – spickermann

답변

0

나는 마침내 문제를 발견 할 수 있었고 프로젝트가 Redis 3.3.5와 함께 작동하도록 구성되었다. 그들은 보석을 업데이트하고 구성이 변경되었습니다. 필자는 Gemfile의 현재 구성에서 작동하는 gem 버전을 설정하여이 문제를 해결했습니다.