使用自制软件安装Redis但是当我尝试ping Redis时会显示此错误。
Could not connect to Redis at 127.0.0.1:6379: Connection refused
注意: 我试图关闭防火墙和编辑conf文件也不能。 我使用macOS Sierra和自制版本1.1.11
答案 0 :(得分:172)
安装redis
后,从terminal
输入
redis-server
Redis-Server将启动
答案 1 :(得分:23)
我在尝试找出为什么在通过brew services start redis
启动后无法连接到redis时发现了这个问题。
根据您的机器或安装的新鲜程度,您可能会丢失配置文件或redis默认设置的目录。
您需要/usr/local/etc/redis.conf
的配置文件。如果没有此文件,redis-server
将无法启动。您可以复制默认配置文件并使用
cp /usr/local/etc/redis.conf.default /usr/local/etc/redis.conf
您需要/usr/local/var/db/redis/
才能存在。您可以使用
mkdir -p /usr/local/var/db/redis
最后只需使用brew services restart redis
重新启动redis。
我浪费了很多时间试图弄清楚redis是不是通过自制软件使用默认值以及它所使用的端口。服务具有误导性,因为即使redis-server
实际上没有开始,brew services list
仍然会将redis显示为“已启动”。最好的方法是使用brew services --verbose start redis
,它会显示日志文件位于/usr/local/var/log/redis.log
。在那里我找到了吸烟枪
Fatal error, can't open config file '/usr/local/etc/redis.conf'
或
Can't chdir to '/usr/local/var/db/redis/': No such file or directory
值得庆幸的是,日志使解决方案显而易见。
redis-server
?你确定可以。如果您运行redis-server &
,它会偶尔占用一个终端或偶尔中断您的终端。此外,它会将dump.rdb
放在您运行它的任何目录中(pwd
)。我很生气,不得不删除文件或在git中忽略它,所以我想我会让brew与服务一起工作。
答案 2 :(得分:7)
如果aftre安装,您需要一直运行redis
,只需输入终端:
redis-server &
在Ubuntu上使用upstart运行redis
我一直试图了解如何在Ubuntu上从头开始设置系统。我刚刚在框中安装了redis
,这是我如何做到这一点以及需要注意的一些事项。
安装:
sudo apt-get install redis-server
这将创建一个redis
用户并为其安装init.d
脚本。由于upstart
现在是使用init.d的替代品,我想我应该将其转换为使用upstart
运行。
禁用init.d
的默认redis
脚本:
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
会自行分叉和守护,父进程就会消失。发生这种情况时,upstart
认为流程已经过期/停止,您无法在upstart
内控制流程。
现在,您可以使用以下命令来控制redis-server
:
sudo start redis-server
sudo restart redis-server
sudo stop redis-server
希望这有用!
答案 3 :(得分:5)
为我工作:
sudo service redis-server start
答案 4 :(得分:2)
这是连接到Redis的更好方法。
首先,像这样检查redis服务器的IP地址。
ps -ef | grep redis
结果是“ redis 1184 1 0...。/ usr / bin / redis-server 172.x.x.x:6379
然后您可以使用-h(hostname)选项连接到Redis。
redis-cli -h 172.x.x.x
答案 5 :(得分:2)
在 Apple Silicon 上连接 Redis 时出错(Macbook Pro M1 - 2020 年 12 月),您只需要知道两件事:
shell% sudo redis-server
shell% sudo redis-server --daemonize yes
使用以下步骤进行验证:
shell% redis-cli ping
希望这能帮助所有担心缺乏相关文档的 Macbook Pro M1 用户。
答案 6 :(得分:1)
在我的情况下,密码包含一些字符,如'
,更改后服务器启动没有问题。
答案 7 :(得分:1)
就像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根本无法启动 。因此,启动虚拟机解决了该问题。
答案 8 :(得分:1)
尝试一下:
sudo service redis-server restart
答案 9 :(得分:0)
我遇到了同样的问题,因为我在配置文件中使用了不正确的语法。我打算补充一下:
maxmemory-policy allkeys-lru
到我的配置文件,但只添加了:
allkeys-lru
显然阻止了Redis解析配置文件,这反过来阻止我通过cli连接。修复此语法允许我连接到Redis。
答案 10 :(得分:0)
遇到homebrew MacOS
问题的原因是/usr/local/var/log
目录see issue here上缺少某种权限
为了解决该问题,我删除了/usr/local/var/log
并重新安装redis brew reinstall redis
答案 11 :(得分:0)
首先,您需要使用以下命令启动/启动所有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
谢谢
答案 12 :(得分:0)
我坚持了很长时间。经过大量尝试,我能够对其进行正确的配置。
引发错误的原因可能有多种。我正在尝试提供从这种情况中克服的原因和解决方案。
person_id
。
解决方案:键入以下命令6379 Port
该问题可能与sudo ufw allow 6379
用户的权限有关。可能是Redis用户没有修改必要的redis
目录的权限。 redis
用户应在以下目录中具有权限:
redis
/var/lib/redis
/var/log/redis
/run/redis
要向/etc/redis
用户授予所有者权限,请键入以下命令:
redis
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
:
redis-server
希望这对某人有帮助。
答案 13 :(得分:0)
我使用的是 Ubuntu 18.04
我刚刚在 CMD 中输入了这个命令
sudo systemctl start redis-server
它现在正在工作。所以我认为我的 redis 服务器没有启动,为什么它向我显示错误
无法在 127.0.0.1:6379 连接到 Redis:连接被拒绝。
答案 14 :(得分:-1)
在我的情况下,有人一起去,并错误地编辑redis.conf文件,以这样的:
bind 127.0.0.1 ::1
bind 192.168.1.7
的情况下,它确实需要是本(一行):
bind 127.0.0.1 ::1 192.168.1.7