我搜索并发现了一些与此问题相关的帖子,特别是这个问题NOAUTH Authentication required. Laravel + Redis,但它并没有解决我的问题。
Redis + Rails(Redis::CommandError (NOAUTH Authentication required.)
)+ Ubuntu
错误:
cap
在开发中,该应用即可,但在生产(使用bind 127.0.0.1
requirepass somepassword
部署)中出现此错误。
生产 Redis 没有密码,应用即可,但添加密码会出现此错误。
etc / redis / redis.conf :
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=somepassword
REDIS_PORT=6379
.ENV
Redis.current = Redis.new(:host => ( ENV["REDIS_HOST"] || '127.0.0.1'),
:port => ( ENV["REDIS_PORT"] || '6379').to_i,
:password => (ENV["REDIS_PASSWORD"] || ''))
配置/初始化/ redis.rb
ENV["REDIS_HOST"]
我在rails控制台中测试127.0.0.1
,输出为auth the_password
。
我想知道在这种情况下如何启用 Redis 的密码?
由于
修改
我在redis-cli
中运行OK
,输出为ENV["REDIS_PASSWORD"]
,与生产轨道控制台中Redis::CommandError (ERR invalid password)
的值相同。
现在rails log显示redis.rb
。
我对此很困惑。
再次修改
我将Redis.current = Redis.new(:host => ( ENV["REDIS_HOST"] ),
:port => ( ENV["REDIS_PORT"] ).to_i,
:password => ( ENV["REDIS_PASSWORD"] ))
更改为以下,工作:
<div>