Using homebrew to install Redis but when i try to ping to Redis it show this error.
Could not connect to Redis at 127.0.0.1:6379: Connection refused
Note : I try to turn off firewall and edit conf file also cannot. I using macOS Sierra and homebrew version 1.1.11
redis, type from
And Redis-Server will be started
I found this question while trying to figure out why I could not connect to redis after starting it via
brew services start redis.
Depending on how fresh your machine or install is you're likely missing a config file or a directory for the redis defaults.
You need a config file at
/usr/local/etc/redis.conf. Without this file
redis-serverwill not start. You can copy over the default config file and modify it from there with
cp /usr/local/etc/redis.conf.default /usr/local/etc/redis.conf
/usr/local/var/db/redis/to exist. You can do this easily with
mkdir -p /usr/local/var/db/redis
Finally just restart redis with
brew services restart redis.
How do you find this out!?
I wasted a lot of time trying to figure out if redis wasn't using the defaults through homebrew and what port it was on. Services was misleading because even though
redis-server had not actually started,
brew services list would still show redis as "started." The best approach is to use
brew services --verbose start redis which will show you that the log file is at
/usr/local/var/log/redis.log. Looking in there I found the smoking gun(s)
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
Thankfully the log made the solution above obvious.
Can't I just run
You sure can. It'll just take up a terminal or interrupt your terminal occasionally if you run
redis-server &. Also it will put
dump.rdb in whatever directory you run it in (
pwd). I got annoyed having to remove the file or ignore it in git so I figured I'd let brew do the work with services.
If aftre install you need run
redis on all time, Just type in terminal:
Running redis using upstart on Ubuntu
I've been trying to understand how to setup systems from the ground up on Ubuntu. I just installed
redis onto the box and here's how I did it and some things to look out for.
sudo apt-get install redis-server
That will create a
redis user and install the
init.d script for it. Since
upstart is now the replacement for using init.d, I figure I should convert it to run using
To disable the default
init.d script for
sudo update-rc.d redis-server disable
/etc/init/redis-server.conf with the following script:
description "redis server" start on runlevel  stop on shutdown exec sudo -u redis /usr/bin/redis-server /etc/redis/redis.conf respawn
What this is is the script for
upstart to know what command to run to start the process. The last line also tells
upstart to keep trying to respawn if it dies.
One thing I had to change in
/etc/redis/redis.conf is to change
daemonize yes to
daemonize no. What happens if you don't change it is that
redis-server will fork and daemonize itself, and the parent process goes away. When this happens,
upstart thinks that the process has died/stopped and you won't have control over the process from within
Now you can use the folowing commands to control your
sudo start redis-server sudo restart redis-server sudo stop redis-server
Hope this was helpful!
It's the better way to connect to your redis.
At first, check the ip address of redis server like this.
ps -ef | grep redis
The result is kind of " redis 1184 1 0 .... /usr/bin/redis-server 172.x.x.x:6379
And then you can connect to redis with -h(hostname) option like this.
redis-cli -h 172.x.x.x
In my case, it was the password that contained some characters like
', after changing it the server started without problems.
I just had this same problem because I had used improper syntax in my config file. I meant to add:
to my config file, but instead only added:
which evidently prevented Redis from parsing the config file, which in turn prevented me from connecting through the cli. Fixing this syntax allowed me to connect to Redis.
Had that issue with
homebrew MacOS the problem was some sort of permission missing on
/usr/local/var/log directory see issue here
In order to solve it I deleted the
/usr/local/var/log and reinstall redis
brew reinstall redis
First you need to up/start the all the redis nodes using below command, one by one for all conf files. @Note : if you are setting up cluster then you should have 6 nodes, 3 will be master and 3 will be slave.redis-cli will automatically select master and slave out of 6 nodes using --cluster command as shown in my below commands.
[[email protected] redis-stable]$ redis-server xxxx.conf
[[email protected] 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
output of above should be like:
>>> Performing hash slots allocation on 6 nodes...
2nd way to set up all things automatically: you can use utils/create-cluster scripts to set up every thing for you like starting all nodes, creating cluster you an follow https://redis.io/topics/cluster-tutorial