使用自制程序安装Redis,但当我尝试ping Redis时,它显示这个错误:
Could not connect to Redis at 127.0.0.1:6379: Connection refused
注意: 我尝试关闭防火墙并编辑conf文件,但仍然无法ping通。 我使用的是macOS Sierra和自制版本1.1.11
使用自制程序安装Redis,但当我尝试ping Redis时,它显示这个错误:
Could not connect to Redis at 127.0.0.1:6379: Connection refused
注意: 我尝试关闭防火墙并编辑conf文件,但仍然无法ping通。 我使用的是macOS Sierra和自制版本1.1.11
我发现这个问题,同时试图弄清楚为什么我不能连接到redis后启动它通过brew服务启动redis。
博士tl;
取决于你的机器或安装的更新程度,你可能会丢失一个配置文件或redis默认目录。
你需要一个配置文件在/usr/local/etc/redis.conf。没有这个文件redis-server将无法启动。您可以复制默认配置文件,并从那里修改它 Cp /usr/local/etc/redis.conf.default /usr/local/etc/redis.conf.default 你需要/usr/local/var/db/redis/存在。这很容易做到 Mkdir -p /usr/local/var/db/redis
最后用brew services重启redis。
你是怎么发现的!?
我浪费了很多时间试图弄清楚redis是否没有通过homebrew使用默认设置,以及它在哪个端口上。服务是误导性的,因为即使redis-server实际上没有启动,brew服务列表仍然会显示redis为“已启动”。最好的方法是使用brew服务——详细启动redis,它会显示日志文件在/usr/local/var/log/redis.log。我在里面找到了确凿的证据
Fatal error, can't open config file '/usr/local/etc/redis.conf'
or
Can't chdir to '/usr/local/var/db/redis/': No such file or directory
幸运的是,日志使上述解决方案变得显而易见。
我不能运行redis-server吗?
你当然可以。如果你运行redis-server &,它只会占用一个终端或偶尔打断你的终端。它也会把转储。RDB在您运行它的任何目录中(pwd)。我很讨厌在git中删除文件或忽略它,所以我想让brew用服务来做这项工作。
我刚刚遇到了同样的问题,因为我在配置文件中使用了不正确的语法。我想补充一点:
maxmemory-policy allkeys-lru
到我的配置文件中,但只添加了:
allkeys-lru
这显然阻止了Redis解析配置文件,这反过来又阻止了我通过cli连接。修正这个语法可以让我连接到Redis。
如果安装后你需要一直运行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
希望这对你有帮助!
这是连接你的redis的更好方式。
首先,像这样检查redis服务器的ip地址。
Ps -ef | grep redis
结果是“redis 1184 10 0 ....”172. . x.x.x /usr/bin/redis-server: 6379
然后你可以像这样用-h(主机名)选项连接到redis。
Redis-cli -h 172.x.x.x
在自制MacOS上有这个问题吗?问题是/usr/local/var/log目录上缺少某种权限,见这里的问题
为了解决这个问题,我删除了/usr/local/var/log并重新安装redis
首先,您需要使用以下命令启动/启动所有redis节点,一个接一个地启动所有的conf文件。 @注:如果你正在建立集群,那么你应该有6个节点,3个主节点和3个从节点。Redis-cli将使用——cluster命令从6个节点中自动选择主节点和从节点,如下所示。
[xxxxx@localhost redis-stable]$ redis-server xxxx.conf
然后运行
[xxxxx@localhost redis-stable]$ redis-cli --cluster create 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 --cluster-replicas 1
上述输出应如下:
>>> Performing hash slots allocation on 6 nodes...
自动设置所有东西的第二种方法: 您可以使用utils/create-cluster脚本来设置您喜欢的任何东西 启动所有节点,创建集群 你可以关注https://redis.io/topics/cluster-tutorial
谢谢
就像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根本不启动。所以启动虚拟机就解决了这个问题。
我在这件事上耽搁了很长时间。经过多次尝试,我终于能够正确地配置它了。
产生误差的原因有很多。我试图提供原因和解决方案,以克服这种情况。确保正确安装了redis-server。
6379 Port is not allowed by ufw firewall. Solution: type following command sudo ufw allow 6379 The issue can be related to permission of redis user. May be redis user doesn't have permission of modifying necessary redis directories. The redis user should have permissions in the following directories: /var/lib/redis /var/log/redis /run/redis /etc/redis To give the owner permission to redis user, type the following commands: sudo chown -R redis:redis /var/lib/redis sudo chown -R redis:redis /var/log/redis sudo chown -R redis:redis /run/redis sudo chown -R redis:redis /etc/redis. Now restart redis-server by following command: sudo systemctl restart redis-server
希望这对某些人有所帮助。
在Apple Silicon上连接Redis错误(Macbook Pro M1 - 2020年12月),你只需要知道两件事:
使用sudo运行redis-server将删除服务器启动错误
Shell % sudo redis-server
为了将其作为服务“daemonize”运行,它将允许您在后台运行
Shell % sudo redis-server—daemonize是
使用以下步骤验证: Shell % redis-cli ping
希望这能帮助所有担心缺少文档的Macbook Pro M1用户。
在我的情况下,有人来了,并错误地编辑redis.conf文件如下:
bind 127.0.0.1 ::1
bind 192.168.1.7
当,它真的需要这样(一行):
bind 127.0.0.1 ::1 192.168.1.7
我使用的是Ubuntu 18.04 我刚刚在CMD中输入了这个命令 Sudo systemctl start redis-server 现在它正在发挥作用。所以我认为我的redis服务器没有启动,为什么它显示我的错误 无法连接到Redis 127.0.0.1:6379:连接被拒绝。
我试图连接我的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,而且还没有运行任何命令。
如果对你有用,请告诉我。 谢谢。
Mac版Redis:
1-酿造安装redis 2-酿造服务启动redis 3- redis-cli ping
$ brew services start redis
$ brew services stop redis
$ brew services restart redis
午餐自动启动选项:
$ ln -sfv /usr/local/opt/redis/*.plist ~/Library/LaunchAgents
# autostart activate
$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.redis.plist
# autostart deactivate
$ launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.redis.plist
Redis conf默认路径:/usr/local/etc/redis.conf
日期:2021年12月
这个错误有几个原因。我读了一篇文章来解决这个问题。所以我就逐一总结一下要检查什么。
1检查:Redis-Server未启动
redis-server
Also to run Redis in the background, the following command could be used.
redis-server --daemonize yes
2. 检查:防火墙限制
sudo ufw status (inactive)
sudo ufw active (for making active it might disable ssh when first time active. So enable port 22 to access ssh.)
sudo ufw allow 22
sudo ufw allow 6379
3.检查:资源使用情况
ps -aux | grep redis
4. 配置设置限制
sudo vi /etc/redis/redis.conf.
注释下面的行。
# bind 127.0.0.1 ::1
注意:恶意行为者将更难发出请求或访问您的服务器。确保您绑定到正确的IP地址网络。
希望它能帮助到别人。欲了解更多信息,请阅读下面的文章。
https://bobcares.com/blog/could-not-connect-to-redis-connection-refused/