Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法在ubuntu 18.04上安装redis服务器_Ubuntu_Redis_Redis Server - Fatal编程技术网

无法在ubuntu 18.04上安装redis服务器

无法在ubuntu 18.04上安装redis服务器,ubuntu,redis,redis-server,Ubuntu,Redis,Redis Server,我已经从17.10升级到ubuntu 18.04。无法完全安装redis服务器包。我看了一下/var/log/syslog,它说 ==> /var/log/syslog <== Jun 3 13:04:10 qaz-mko systemd[1]: redis-server.service: Can't open PID file /var/run/redis/redis-server.pid (yet?) after start: No such file or directory

我已经从17.10升级到ubuntu 18.04。无法完全安装redis服务器包。我看了一下/var/log/syslog,它说

==> /var/log/syslog <==
Jun  3 13:04:10 qaz-mko systemd[1]: redis-server.service: Can't open PID file /var/run/redis/redis-server.pid (yet?) after start: No such file or directory
Jun  3 13:05:01 qaz-mko CRON[3429]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)
Jun  3 13:05:40 qaz-mko systemd[1]: redis-server.service: Start operation timed out. Terminating.
Jun  3 13:05:40 qaz-mko systemd[1]: redis-server.service: Failed with result 'timeout'.
Jun  3 13:05:40 qaz-mko systemd[1]: Failed to start Advanced key-value store.
Jun  3 13:05:40 qaz-mko systemd[1]: redis-server.service: Service hold-off time over, scheduling restart.
Jun  3 13:05:40 qaz-mko systemd[1]: redis-server.service: Scheduled restart job, restart counter is at 13.
Jun  3 13:05:40 qaz-mko systemd[1]: Stopped Advanced key-value store.
Jun  3 13:05:40 qaz-mko systemd[1]: Starting Advanced key-value store...
Jun  3 13:05:40 qaz-mko systemd[1]: redis-server.service: Can't open PID file /var/run/redis/redis-server.pid (yet?) after start: No such file or directory

==> /var/log/redis/redis-server.log <==
3416:C 03 Jun 13:02:39.637 # Configuration loaded
3417:M 03 Jun 13:02:39.639 # Creating Server TCP listening socket ::1:6379: bind: Cannot assign requested address
3423:C 03 Jun 13:04:10.121 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
3423:C 03 Jun 13:04:10.121 # Redis version=4.0.9, bits=64, commit=00000000, modified=0, pid=3423, just started
3423:C 03 Jun 13:04:10.122 # Configuration loaded
3424:M 03 Jun 13:04:10.124 # Creating Server TCP listening socket ::1:6379: bind: Cannot assign requested address
3435:C 03 Jun 13:05:40.602 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
3435:C 03 Jun 13:05:40.602 # Redis version=4.0.9, bits=64, commit=00000000, modified=0, pid=3435, just started
3435:C 03 Jun 13:05:40.602 # Configuration loaded
3436:M 03 Jun 13:05:40.604 # Creating Server TCP listening socket ::1:6379: bind: Cannot assign requested address

我找到了罪犯。不久前我禁用了ipv6。我重新打开它,它安装良好,启动良好。如果redis.conf文件仅支持IPv4模式,您可能会更改该文件以强制其使用IPv4,然后您可能会在不使用IPv6的情况下运行该文件。

即使禁用IPv6,也可以让redis服务器运行

只需从
bind
config选项(默认位于
/etc/redis/redis.conf
)中删除
::1
IPv6环回地址:


现在redis不会尝试使用IPv6网络。

好吧,我刚从Ubuntu 16.04升级到18.04时遇到了类似的问题。上面的解决方案(禁用ipv6)在这里没有帮助。很可能是我,但我也不明白为什么会有帮助,因为错误的重要部分似乎是

Jun  3 13:05:40 qaz-mko systemd[1]: redis-server.service: Can't open PID file /var/run/redis/redis-server.pid (yet?) after start: No such file or directory
显然,创建文件本身并不一定能解决这个问题。但是,帮助的是创建目录并授予它必要的权限:

mkdir -p /var/run/redis
chown redis:redis /var/run/redis

它不会在重新启动时持续存在。虽然我仍在试图找出解决方案,但快速而肮脏的解决方法是将上述行放入rc。local

请接受此答案,因为这个问题不再需要关注。这对我也起到了作用。在我的例子中,我编辑了
/etc/sysctl.conf
文件并删除了以下行:
net.ipv6.conf.all.disable\u ipv6=1
这是正确的答案。调整redis以适应周围环境,而不是相反。
- bind 127.0.0.1 ::1
+ bind 127.0.0.1
Jun  3 13:05:40 qaz-mko systemd[1]: redis-server.service: Can't open PID file /var/run/redis/redis-server.pid (yet?) after start: No such file or directory
mkdir -p /var/run/redis
chown redis:redis /var/run/redis