使用自制程序安装Redis,但当我尝试ping Redis时,它显示这个错误:

Could not connect to Redis at 127.0.0.1:6379: Connection refused

注意: 我尝试关闭防火墙并编辑conf文件,但仍然无法ping通。 我使用的是macOS Sierra和自制版本1.1.11


当前回答

我试图连接我的Redis运行在wsl2从vs代码运行在Windows。

我列出了对我有效的方法,以及我执行这些方法的顺序:

1) sudo ufw allow 6379
2) Update redis.conf to bind 127.0.0.1 ::1 192.168.1.7
3) sudo service redis-server restart

注意:这是我第一次在wsl2上安装Redis,而且还没有运行任何命令。

如果对你有用,请告诉我。 谢谢。

其他回答

我刚刚遇到了同样的问题,因为我在配置文件中使用了不正确的语法。我想补充一点:

maxmemory-policy allkeys-lru

到我的配置文件中,但只添加了:

allkeys-lru

这显然阻止了Redis解析配置文件,这反过来又阻止了我通过cli连接。修正这个语法可以让我连接到Redis。

在我的情况下,它是包含一些字符的密码,如',修改后,服务器启动没有问题。

我使用的是Ubuntu 18.04 我刚刚在CMD中输入了这个命令 Sudo systemctl start redis-server 现在它正在发挥作用。所以我认为我的redis服务器没有启动,为什么它显示我的错误 无法连接到Redis 127.0.0.1:6379:连接被拒绝。

如果安装后你需要一直运行redis,只需输入terminal:

redis-server &

在Ubuntu上使用upstart运行redis

我一直在试图理解如何从头开始在Ubuntu上安装系统。我只是在盒子上安装了redis,这里是我是怎么做的,还有一些事情要注意。

如何安装:

sudo apt-get install redis-server

这将创建一个redis用户并安装init。D脚本。因为upstart现在是使用init的替代品。d,我认为我应该将其转换为使用upstart运行。

禁用默认的init。redis D脚本:

sudo update-rc.d redis-server disable

然后使用以下脚本创建/etc/init/redis-server.conf:

description "redis server"

start on runlevel [23]
stop on shutdown

exec sudo -u redis /usr/bin/redis-server /etc/redis/redis.conf

respawn

这是upstart的脚本,让upstart知道要运行什么命令来启动进程。最后一行还告诉新贵,如果它死了,要继续尝试重生。

我必须在/etc/redis/redis.conf中修改的一件事是daemonize yes改为daemonize no。如果你不改变它会发生什么,redis-server会fork并守护自己,并且父进程会消失。当这种情况发生时,upstart认为进程已经死亡/停止,您将无法从upstart内部控制进程。

现在你可以使用下面的命令来控制你的redis-server:

sudo start redis-server
sudo restart redis-server
sudo stop redis-server

希望这对你有帮助!

就像Aaron一样,在我的案例中,brew services list声称redis正在运行,但实际上并没有。我在/usr/local/var/log/redis.log的日志文件中发现了以下信息:

4469:C 28 Feb 09:03:56.197 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
4469:C 28 Feb 09:03:56.197 # Redis version=4.0.9, bits=64, commit=00000000, modified=0, pid=4469, just started
4469:C 28 Feb 09:03:56.197 # Configuration loaded
4469:M 28 Feb 09:03:56.198 * Increased maximum number of open files to 10032 (it was originally set to 256).
4469:M 28 Feb 09:03:56.199 # Creating Server TCP listening socket 192.168.161.1:6379: bind: Can't assign requested address

这是由以下配置引起的:

bind 127.0.0.1 ::1 192.168.161.1

这是让我的VMWare Fusion虚拟机访问macOS主机上的redis服务器所必需的。但是,如果虚拟机没有启动,这个绑定失败会导致redis根本不启动。所以启动虚拟机就解决了这个问题。