Answers:
安装后redis
,输入terminal
:
redis-server
和Redis-Server将启动
cd C:\Program Files\Redis
然后 redis-server
我在尝试弄清楚为什么通过启动它后无法连接到Redis时发现了这个问题brew services start 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
最后,使用重新启动Redis brew services restart 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通过服务来完成工作。
如果安装后需要一直运行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
希望这对您有所帮助!
首先,您需要使用以下命令启动/启动所有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不启动在所有。因此,启动虚拟机解决了该问题。
试试这个 :
sudo service redis-server restart