Error: Connection reset by peer
Could not connect to Redis at 127.0.0.1:6379: Connection refused
注意:我尝试关闭防火墙并编辑配置文件,但仍无法ping通。我正在使用macOS Sierra和homebrew版本1.1.11。
Could not connect to Redis at 127.0.0.1:6379: Connection refused
注意:我尝试关闭防火墙并编辑配置文件,但仍无法ping通。我正在使用macOS Sierra和homebrew版本1.1.11。
redis
后,在终端
中输入以下命令:redis-server
Redis-Server将会被启动
我在尝试通过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是否没有通过homebrew使用默认设置以及它在哪个端口上。Services会让人产生误导,因为即使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通过服务来完成这项工作。
brew services restart redis
对我很关键,在此之前所有其他的配置文件等都已经设置正确- 服务显然只是出了些问题! - jmcgroryredis-server --daemonize yes
我通过运行此命令解决了这个问题。
如果安装后需要一直运行redis
,只需在终端中输入:
redis-server &
在Ubuntu上使用upstart运行redis
我一直在尝试了解如何从头开始在Ubuntu上设置系统。我刚刚将redis
安装到了这台机器上,以下是我的操作方法和一些需要注意的事项。
安装命令:
sudo apt-get install redis-server
这将创建一个redis
用户并安装其init.d
脚本。由于upstart
现在替代了使用init.d
,我认为应该将其转换为使用upstart
运行。
要禁用redis
的默认init.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
将分叉并将自身守护,父进程随之终止。当这种情况发生时,upstart
认为该进程已经死亡/停止,你将无法从upstart
内部控制该进程。redis-server
:sudo start redis-server
sudo restart redis-server
sudo stop redis-server
这对我起作用:
sudo service redis-server start
出现这个错误有几个可能原因。我看了一篇文章来解决我的问题,所以我总结了一下需要逐一检查的内容。
redis-server
Also to run Redis in the background, the following command could be used.
redis-server --daemonize yes
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
ps -aux | grep redis
sudo vi /etc/redis/redis.conf.
注释以下行。
# bind 127.0.0.1 ::1
注意:对于恶意行为者来说,发出请求或获取服务器访问权限将更加困难。确保绑定到正确的IP地址网络。
希望能对某些人有所帮助。欲了解更多信息,请阅读以下文章。
https://bobcares.com/blog/could-not-connect-to-redis-connection-refused/
sudo service redis-server restart
这是连接到你的Redis的更好方法。
首先,像这样检查Redis服务器的IP地址。
ps -ef | grep redis
结果类似于 "redis 1184 1 0 .... /usr/bin/redis-server 172.x.x.x:6379"
然后,你可以使用-h(主机名)选项连接到Redis,例如:
redis-cli -h 172.x.x.x
当我尝试使用cmd redis-cli时,出现了“无法连接到127.0.0.1:6379的Redis:连接被拒绝”的错误,但我在github上找到了解决方案。
原因:值得注意的是,如果您正在生产环境中使用Redis,您可能希望在后台运行Redis。
您可以尝试以下命令来解决问题:
redis-server --daemonize yes
在 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 用户,因为缺乏相关文档使得操作变得困难。
redis-server --daemonize yes
,然后运行redis-cli ping
以获取Pong,或者只需要在终端中运行redis-cli
即可快速执行命令。 - Kingston Fortune
cd C:\Program Files\Redis
:进入Redis软件安装的目录。redis-server
:启动Redis服务。