无法连接到127.0.0.1:6379的Redis:使用自制软件拒绝连接
使用自制软件安装Redis,但当我尝试ping Redis时,会显示以下错误:无法连接到127.0.0.1:6379的Redis:使用自制软件拒绝连接,redis,redis-server,Redis,Redis Server,使用自制软件安装Redis,但当我尝试ping Redis时,会显示以下错误: Could not connect to Redis at 127.0.0.1:6379: Connection refused 注意: 我试图关闭防火墙并编辑conf文件,但仍然无法ping。 我正在使用macOS Sierra和自制版本1.1.11在安装redis后,从终端键入: redis-server Redis服务器将被启动我在试图找出为什么通过brew services启动Redis后无法连接到Red
Could not connect to Redis at 127.0.0.1:6379: Connection refused
注意:
我试图关闭防火墙并编辑conf文件,但仍然无法ping。
我正在使用macOS Sierra和自制版本1.1.11在安装
redis
后,从终端键入:
redis-server
Redis服务器将被启动我在试图找出为什么通过brew services启动Redis后无法连接到Redis时发现了这个问题
tl;博士
根据您的计算机或安装的刷新程度,您可能会丢失redis默认设置的配置文件或目录
您需要一个位于/usr/local/etc/redis.conf
的配置文件。没有此文件,redis服务器将无法启动。您可以复制默认配置文件,然后使用
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服务重新启动redis
,即可重新启动redis
你怎么知道的!?
我浪费了很多时间试图弄清楚redis是否没有通过自制使用默认值,以及它在哪个端口上。服务具有误导性,因为即使redis服务器
尚未实际启动,brew服务列表
仍会将redis显示为“已启动”。最好的方法是使用brew服务--verbose start redis
,它将显示日志文件位于/usr/local/var/log/redis.log
。我往里面看,发现了冒烟的枪
或
谢天谢地,日志使上述解决方案变得显而易见
我不能运行redis服务器吗?
你当然可以。如果您运行redis server&
,它只会占用一个终端或偶尔中断您的终端。它还将把dump.rdb
放在运行它的任何目录中(pwd
)。我对在git中删除或忽略该文件感到恼火,因此我决定让brew处理服务。我也遇到了同样的问题,因为我在配置文件中使用了不正确的语法。我想补充一点:
maxmemory策略所有键lru
添加到我的配置文件,但只添加了:
allkeys lru
这显然阻止了Redis解析配置文件,这反过来又阻止了我通过cli进行连接。修复此语法后,我可以连接到Redis。在我的情况下,是密码包含了一些字符,如”
,更改密码后,服务器就可以正常启动。如果安装后需要始终运行Redis
,只需键入终端:
redis服务器&
在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服务器
:
sudo start redis-server
sudo restart redis-server
sudo stop redis-server
希望这是有帮助的 这是连接到redis的更好方式
首先,像这样检查redis服务器的ip地址
ps-ef | grep redis
结果是“redis118410../usr/bin/redisserver172.x.x.x:6379”
然后您可以像这样使用-h(主机名)选项连接到redis
redis cli-h 172.x.x.x
如果自制MacOS
出现此问题,则问题在于/usr/local/var/log
目录中缺少某种权限
为了解决这个问题,我删除了/usr/local/var/log
并重新安装redisbrew重新安装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/createcluster脚本为自己设置一切
启动所有节点,创建群集
你有追随者吗
谢谢你为我做的这项工作:
sudo service redis-server start
就像,在我的例子中,brew服务列表
声称redis正在运行,但它没有运行。我在日志文件中找到了以下信息,位于/usr/local/var/log/redis.log
:
4469:C 28 Feb 09:03:56.197#ooooooooo Redis正在启动ooooooooooooo
4469:C 28 Feb 09:03:56.197#Redis version=4.0.9,bits=64,commit=00000000,modified=0,pid=4469,刚刚开始
4469:C 28 Feb 09:03:56.197#配置已加载
4469:M 28 Feb 09:03:56.198*将打开的最大文件数增加到10032(最初设置为256)。
4469:M
>>> Performing hash slots allocation on 6 nodes...
sudo service redis-server start
bind 127.0.0.1 ::1 192.168.161.1
sudo service redis-server restart
bind 127.0.0.1 ::1
bind 192.168.1.7
bind 127.0.0.1 ::1 192.168.1.7