在使用scrapy-redis中 ,运行命令时 报错 ResponseError: NOAUTH Authentication required. 通过查阅资料发现是给redis加了密码。 去掉密码后能够运行了。redis
Redis默认配置是不须要密码认证的,也就是只要链接Redis服务器的host和port正确,就能够链接使用。这在安全上会有必定的问题,因此须要启用Redis的认证密码,增长Reids服务器的安全性。vim
1.修改配置文件安全
Redis配置文件在redis根目录下,在设置redis自启动后,在/etc/redis/6379.conf也含有一个配置文件:服务器
# vim /etc/redis/6379.conf 找到以下行 #requirepass foobared 去掉前面的注释,并修改成所须要的密码: requirepass redis
2.重启Redisscrapy
# service redis restart 也能够: # /usr/local/bin/redis-cli shutdown # /usr/local/bin/redis-server /etc/redis/6379.conf
3.登陆验证ui
设置Redis认证密码后,客户端登陆时须要使用** -a**参数输入认证密码,不添加该参数虽然也能够登陆成功,可是没有操做权限。以下:命令行
# ./redis-cli -h 127.0.0.1 -p 6379 127.0.0.1:6379>ping (error) NOAUTH Authentication required. 使用密码认证以后,并验证操做权限: # ./redis-cli -h 127.0.0.1 -p 6379 -a redis 127.0.0.1:6379>config get requirepass 1) "requirepass" 2) "redis" ## 密码 127.0.0.1:6379>ping pong 也能够在链接后认证: # ./redis-cli -h 127.0.0.1 -p 6379 127.0.0.1:6379> auth myPassword OK 127.0.0.1:6379> config get requirepass 1) "requirepass" 2) "myPassword" 127.0.0.1:6379>
4.在命令行客户端配置密码(不须要从新启动Redis)rest
配置方式以下:code
127.0.0.1:6379> config set requirepass newPassword OK 127.0.0.1:6379> config get requirepass 1) "requirepass" 2) "newPassword
注意:使用命令行客户端配置密码,重启Redis后仍然会使用 redis.conf配置文件中的密码。server
5.在Redis集群中使用认证密码
若是Redis服务器,使用了集群。除了在master中配置密码外,也须要在slave中进行相应配置。在slave的配置文件中找到以下行,去掉注释并修改与master相同的密码便可:
masterauth master-password