簡體   English   中英

/ sidekiq / getaddrinfo中的SocketError:提供的nodename或servname,或者未知

[英]SocketError at /sidekiq/ getaddrinfo: nodename nor servname provided, or not known

我是一個新手Rails dev構建一個連接到redis + sidekiq的應用程序。 我必須有一些配置錯誤,但我不確定它究竟是什么。 下面,我將在這里寫下我的確困惑:

在運行rails s時,我收到以下錯誤:

2016-07-09 08:55:46 - SocketError - getaddrinfo: nodename nor servname provided, or not known:
/Users/rohitrekhi/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/redis-3.3.0/lib/redis/connection/ruby.rb:177:in `getaddrinfo'
/Users/rohitrekhi/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/redis-3.3.0/lib/redis/connection/ruby.rb:177:in `connect'
/Users/rohitrekhi/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/redis-3.3.0/lib/redis/connection/ruby.rb:260:in `connect'
/Users/rohitrekhi/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/redis-3.3.0/lib/redis/client.rb:336:in `establish_connection'

所以我認為它必須是一個redis連接錯誤。 當我ping redis以查看連接是否通過時,它顯示以下內容:

$ redis-cli ping
=> PONG

所以如果redis連接通過,也許這是Sidekiq問題?

我通過Sinatra實現了Sidekiq Web界面,當我嘗試查看它時出現以下錯誤:

SocketError at /sidekiq/
getaddrinfo: nodename nor servname provided, or not known

所以現在我猜測錯誤實際上是通過Sidekiq,但我不確定我通過主機/服務器/套接字上的配置丟球。 究竟是什么導致了這一點,以及是否是Sidekiq或redis的錯誤?

這是我在config / initializers / sidekiq.rb中為sidekiq創建的初始化文件:

Sidekiq.configure_server do |config|
config.redis = { url: 'redis://redis.example.com:6379/12', network_timeout: 5 }
end

Sidekiq.configure_client do |config|
  config.redis = { url: 'redis://redis.example.com:6379/12', network_timeout: 5 }
end

這是我的config / initializer / redis.rb:

$redis = Redis.new(:host => 'localhost', :port => 6379)

我還打開了三個終端窗口,打開了redis服務器,sidekiq和我的rails服務器。

提前致謝!

這毫無意義:

redis://redis.example.com:6379/12

您在該URL上沒有Redis服務器; 修復網址。

暫無
暫無

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

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