【问题标题】:I am trying to deploy my ruby on rails app to heroku and it deploys properly我正在尝试将我的 ruby​​ on rails 应用程序部署到 heroku 并正确部署
【发布时间】:2016-12-13 04:26:54
【问题描述】:

但是当我查看网站时,我得到:

我们很抱歉,但有些不对劲。

这些是我在 Heroku 的日志: 2016-12-13T04:13:24.541263+00:00 app[web.1]: F, [2016-12-13T04:13:24.540784 #4] 致命 -- : [70c87081-1717-44c4-8e2f-0615224ea231]
2016-12-13T04:13:24.541264+00:00 app[web.1]: F, [2016-12-13T04:13:24.540872 #4] 致命 -- : [70c87081-1717-44c4-8e2f-0615224ea231] NoMethodError(未定义方法hset' for nil:NilClass): 2016-12-13T04:13:24.541265+00:00 app[web.1]: F, [2016-12-13T04:13:24.540923 #4] FATAL -- : [70c87081-1717-44c4-8e2f-0615224ea231]
2016-12-13T04:13:24.541265+00:00 app[web.1]: F, [2016-12-13T04:13:24.540971 #4] FATAL -- : [70c87081-1717-44c4-8e2f-0615224ea231] vendor/bundle/ruby/2.3.0/gems/realtime-0.1.0/lib/realtime/realtime_controller.rb:64:in
store_realtime_session_redis'

我的应用程序控制器中也有这个,我怀疑这是导致我的问题的原因...有人知道如何从环境变量中定义它吗?

def realtime_server_url # 指向你的 node.js-socket.io-redis/zmq 实时服务器(你可以稍后设置) 返回'https://steemstars-tadasu85.c9users.io:8082' 结束

对于这个问题的任何帮助将不胜感激。

【问题讨论】:

  • NoMethodError(nil:NilClass 的未定义方法 hset')。这里。可能是您的应用引发错误的原因。
  • 知道是什么导致了这个问题,我已经解决了这个错误,看起来它与我的实时服务器有关....可能是因为我的 procfile 中没有包含我的实时服务器?我该怎么做呢?这是这里的应用程序仓库github.com/steem-third-party/STEEMSTARS

标签: ruby-on-rails heroku redis


【解决方案1】:

你必须在你的 redis.rb 配置文件中配置 Redis:

Redis::Settings.configure do |config|
  config.connection = $redis
end

【讨论】:

  • 我相当有信心我已经正确设置了,如下面的评论所示。
  • 你正确的结果是我没有定义我的 redis global require 'redis' # config/initializers/redis.rb location = ENV["REDISTOGO_URL"] || 'redis://127.0.0.1:6379/0' uri = URI.parse(location) $redis = Redis.new(:url => uri)
【解决方案2】:

您需要在 Heroku 服务器上配置 Redis。

阅读官方网站的指南:https://devcenter.heroku.com/articles/heroku-redis

【讨论】:

  • 这就是我的 redis.rb 现在需要 'redis' # config/initializers/redis.rb uri = URI.parse(ENV.fetch("REDISTOGO_URL", "redis:/ /localhost:6379/")) REDIS = Redis.new(:host => uri.host, :port => uri.port, :password => uri.password) 这不正确吗?
  • 我已将我的 redis 配置更改为如下所示,但仍然出现完全相同的错误require 'redis' # config/initializers/redis.rb uri = URI.parse(ENV["REDISTOGO_URL"]) REDIS = Redis.new(:url => uri)
猜你喜欢
  • 2023-03-31
  • 2016-01-06
  • 2018-06-10
  • 2011-10-29
  • 1970-01-01
  • 1970-01-01
  • 2016-12-25
  • 2019-11-11
  • 1970-01-01
相关资源
最近更新 更多