redis启动不了 redis-server.service failed because a timeout was exceeded
redis启动不了 redis-server.service failed because a timeout was exceeded
在阿里云ubuntu18.04系统里安装redis,发现报错
redis-server.service - Advanced key-value store Loaded: loaded (/lib/systemd/system/redis-server.service; disabled; vendor preset: enabled) Active: activating (start) since Tue 2019-01-22 14:56:29 CST; 31s ago Docs: http://redis.io/documentation, man:redis-server(1) Process: 1145 ExecStart=/usr/bin/redis-server /etc/redis/redis.conf (code=exited, status=0/SUCCESS) Tasks: 0 (limit: 4667) CGroup: /system.slice/redis-server.service Jan 22 14:56:29 iZrj911fdcw9a9969g0hdaZ systemd[1]: Starting Advanced key-value store... Jan 22 14:56:29 iZrj911fdcw9a9969g0hdaZ systemd[1]: redis-server.service: Can't open PID file /var/run/redis/redis-server.pid (yet?) after star
因为redis默认是只支持ipv6访问,(bind 127.0.0.1 ::1)。
如果服务器没设置ipv6的话,就会报错。
我们需要把
bind 127.0.0.1 ::1
改成
bind 127.0.0.1
改成ipv4网络。
编辑文件/etc/redis/redis.conf,将bind 127.0.0.1 ::1
修改为bind 127.0.0.1
再重新启动下redis就好了。
systemctl restart redis-server.service
这个时候仅能从本地访问,如果要从远程访问,需要编辑文件/etc/redis/redis.conf,将bind 127.0.0.1
修改为bind 0.0.0.0
。
这时即可从远程访问了。
Authentication
我们还可以给redis设一个密码
首先我们用如下密码生成一个密码
:~# echo "zouhongzhao" |sha256sum 0bde5ac14dddc5f04da9d5b67ce823deb6d28d212950de7e44585104f2ab202b -
编辑文件/etc/redis/redis.conf,找到# requirepass foobared,去掉注释,然后将其改为requirepass 0bde5ac14dddc5f04da9d5b67ce823deb6d28d212950de7e44585104f2ab202b,重启redis服务器,然后用客户端工具去连接。
:~$ redis-cli -h zouhongzhao zouhongzhao:6379> ping (error) NOAUTH Authentication required. zouhongzhao:6379> auth 0bde5ac14dddc5f04da9d5b67ce823deb6d28d212950de7e44585104f2ab202b OK zouhongzhao:6379> keys * 1) "k1" test.com:6379> exit :~$
最后于 5月前 被admin编辑 ,原因: