In this article, we will have explained the necessary steps to install and configure Redis on CentOS 7. Before continuing with this tutorial, make sure you are logged in as a user with sudo privileges. All the commands in this tutorial should be run as a non-root user.
Redis is an open-source in-memory database project implementing a distributed, in-memory key-value store with optional durability. Some of Redis features are built-in transactions, replication, and support for a variety of data structures like strings, hashes, lists, sets and so on. Redis Sentinel makes Redis highly available and it supports automatic partitioning with Redis Cluster.
Install Redis on CentOS
Step 1. The first command will update the package lists to ensure you get the latest version and dependencies.
sudo yum install epel-release sudo yum update
Step 2. Install Redis on CentOS 7.
Redis package is not included in the default CentOS repositories. We will be installing Redis version 5.0.2 from the Remi repository:
sudo yum install epel-release yum-utils sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm sudo yum-config-manager --enable remi
Redis package is available in default repository in CentOS 7. So to install Redis run below command:
sudo yum install redis
Once the installation is completed, start the Redis service and enable it to start automatically on boot with:
sudo systemctl start redis sudo systemctl enable redis
Step 3. Configure Redis Remote Access.
By default, you can not access Redis from another host because its by default bound to localhost only. To confirm its bound to localhost (127.0.0.1), follow below instructions:
sudo nano /etc/redis.conf
Locate the line that begins with bind 127.0.0.1 and add your server private IP address after 127.0.0.1:
# IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES # JUST COMMENT THE FOLLOWING LINE. # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ bind 127.0.0.1 192.168.1.46
To take changes effect, restart Redis server by running below command:
sudo systemctl restart redis-server
Use the following ss command to verify that the Redis server is listening on your private interface on port 6379:
ss -an | grep 6379
You should see something like below:
tcp LISTEN 0 128 192.168.121.233:6379 *:* tcp LISTEN 0 128 127.0.0.1:6379 *:*
Next, we will setup FirewallD for accessing Redis from a remote host:
sudo firewall-cmd --new-zone=redis --permanent sudo firewall-cmd --zone=redis --add-port=6379/tcp --permanent sudo firewall-cmd --zone=redis --add-source=192.168.1.0/24 --permanentsudo firewall-cmd --reload
Finally, reload FirewallD to tale changes effect:
sudo firewall-cmd --reload
To verify that everything is setup properly, you can try to ping the Redis server from your remote machine using the redis-cli utility which provides a command-line interface to a Redis server:
redis-cli -h <REDIS_IP_ADDRESS> ping
You should see exact below output:
Congratulation, you have learned how to install and configure Redis on CentOS 7. If you have any question, please leave a comment below.