简体   繁体   English

Sidekiq Redis :: CannotConnectError:生产时在127.0.0.1:6379上连接到Redis时出错

[英]Sidekiq Redis::CannotConnectError: Error connecting to Redis on 127.0.0.1:6379 on production

config/initializers/sidekiq.rb 配置/初始化/ sidekiq.rb

Sidekiq.configure_server do |config|
   config.redis = { :url => 'redis://192.xxx.xxx.xx:6379/0' }
end

In production console when I do 在生产控制台中,当我做

ActivationWorker.perform_async(877459)

It gives an error 它给出了一个错误

Redis::CannotConnectError: Error connecting to Redis on 127.0.0.1:6379 (Errno::ECONNREFUSED) Redis :: CannotConnectError:在127.0.0.1:6379(Errno :: ECONNREFUSED)上连接到Redis时出错

Even sidekiq.log prints 甚至sidekiq.log打印

Booting Sidekiq 5.1.3 with redis options {:url=>"redis://192.xxx.xxx.xx:6379/0", :id=>"Sidekiq-server-PID-646"}

It is important to note that to configure the location of Redis, you must define both the Sidekiq.configure_server and Sidekiq.configure_client blocks 重要的是要注意,要配置Redis的位置,必须同时定义Sidekiq.configure_server和Sidekiq.configure_client块

Straight from the docs 直接来自文档

So also add to your config/initializers/sidekiq.rb : 因此,还要添加到您的config/initializers/sidekiq.rb

Sidekiq.configure_client do |config|
   config.redis = { :url => 'redis://192.xxx.xxx.xx:6379/0' }
end

Also important notes from docs: 来自文档的重要注意事项:

NOTE: The configuration hash must have symbolized keys. 注意:配置哈希必须具有符号键。

NOTE: Unknown parameters are passed to the underlying Redis client so any parameters supported by the driver can go in the Hash. 注意:未知参数将传递给基础Redis客户端,因此驱动程序支持的任何参数都可以放入哈希中。

Based on the comments, we know that Redis is on a separate server. 根据评论,我们知道Redis在单独的服务器上。

Rails Server Rails服务器

Create a file in initializers: config/initializers/sidekiq.rb : 在初始化程序中创建一个文件: config/initializers/sidekiq.rb

Sidekiq.configure_server do |config|
  config.redis = {
    url: "redis://192.xxx.xxx.xxx:6379/12"
  }
end

Sidekiq.configure_client do |config|
  config.redis = {
    url: "redis://192.xxx.xxx.xxx:6379/12"
  }
end

Redis server Redis服务器

  • Edit /etc/redis/redis.conf 编辑/etc/redis/redis.conf
  • Update your binded port 更新您的绑定端口
  • example: bind 192.xxx.xxx.xxx 例如: bind 192.xxx.xxx.xxx
  • restart redis 重新启动redis

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 GiLab CI-Redis :: CannotConnectError:在127.0.0.1:6379上连接到Redis时出错 - GiLab CI - Redis::CannotConnectError: Error connecting to Redis on 127.0.0.1:6379 想在Heroku上使用Redis(Redis :: CannotConnectError(在127.0.0.1:6379上连接到Redis时出错(ECONNREFUSED))) - Want to use Redis on Heroku (Redis::CannotConnectError ( Error connecting to Redis on 127.0.0.1:6379 (ECONNREFUSED)) ) rails + docker + sidekiq +错误连接到127.0.0.1:6379上的Redis(Errno :: ECONNREFUSED) - rails + docker + sidekiq + Error connecting to Redis on 127.0.0.1:6379 (Errno::ECONNREFUSED) Rails-Redis :: CannotConnectError:在本地主机上连接Redis时出错:6379(Errno :: ECONNREFUSED) - Rails - Redis::CannotConnectError: Error connecting to Redis on localhost:6379 (Errno::ECONNREFUSED) Redis :: CannotConnectError(在localhost:6379(Errno :: ECONNREFUSED)上连接到Redis时出错): - Redis::CannotConnectError (Error connecting to Redis on localhost:6379 (Errno::ECONNREFUSED)): Sidekiq 在 docker-compose 上的 127.0.0.1:6379 (Errno::ECONNREFUSED) 上连接到 Redis 时出错 - Sidekiq Error connecting to Redis on 127.0.0.1:6379 (Errno::ECONNREFUSED) on docker-compose 在 Rails 应用程序上的 127.0.0.1:6379(ECONNREFUSED) 上连接到 Redis 时出错 - Error connecting to Redis on 127.0.0.1:6379(ECONNREFUSED) on rails application 在 127.0.0.1:6379 (Errno::ECONNREFUSED) 上连接到 Redis 时出错 - Wercker - Error connecting to Redis on 127.0.0.1:6379 (Errno::ECONNREFUSED) - Wercker (在localhost:6379(Errno :: ECONNREFUSED)上连接到Redis时出错): - (Error connecting to Redis on localhost:6379 (Errno::ECONNREFUSED)): Redis / Resque [在本地主机上连接到Redis时出错:6379(ECONNREFUSED)] - Redis/Resque [Error connecting to Redis on localhost:6379 (ECONNREFUSED)]
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM