Install Redis on Ubuntu 20.04

2 min read

Redis is an open-source in-memory key-value data store. It can be used as a database, cache and, message broker, and supports various data structures such as Strings, Hashes, Lists, Sets, and more. Redis provides high availability via Redis Sentinel and automatic partitioning across multiple Redis nodes with Redis Cluster.

This tutorial describes how to install and configure Redis on Ubuntu 20.04.

Installing Redis on Ubuntu 20.04

Installing Redis on Ubuntu is a straightforward process.

Redis version 5.0.x is included in the default Ubuntu 20.04 repositories. To install it run the following commands as root or user with sudo privileges:

sudo apt updatesudo apt install redis-server

Once the installation is completed, the Redis service will start automatically. To check the status of the service, enter the following command:

sudo systemctl status redis-server

You should see something like this:

● redis-server.service - Advanced key-value store
     Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2020-06-06 20:03:08 UTC; 10s ago
...

Redis service will fail to start if IPv6 is disabled on your server.

That’s it. You have Redis installed and running on your Ubuntu 20.04 server.

Configure Redis Remote Access

By default, the Redis server doesn’t accept remote connections. You can connect to Redis only from 127.0.0.1 (localhost) – the machine where Redis is running.

If you are using a single server setup, where the client connecting to the database is also running on the same host, you should not enable remote access.

To configure Redis to accept remote connections open the Redis configuration file with your text editor:

sudo nano /etc/redis/redis.conf

Locate the line that begins with bind 127.0.0.1 ::1 and comment it./etc/redis/redis.conf

# bind 0.0.0.0 ::1

CopyIf your server has a private IP, and you want Redis to be reachable only from the private network instead of commenting the line, the private IP address after 127.0.0.1.

Save the file and restart the Redis service for changes to take effect:

sudo systemctl restart redis-server

Use the following command to verify that redis is listening on all interfaces on port 6379:

ss -an | grep 6379

You should see something like below. 0.0.0.0 means all IPv4 addresses on the machine.

tcp  LISTEN 0   511   0.0.0.0:6379   0.0.0.0:*
tcp  LISTEN 0   511      [::]:6379      [::]:*  

Next, you’ll need to configure your firewall to enable traffic from on TCP port 6379.

Typically you would want to allow access to the Redis server only from a specific IP address or IP range. For example, to allow connections only from the 192.168.121.0/24 subnet, you would run the following command:

sudo ufw allow proto tcp from 192.168.121.0/24 to any port 6379

Make sure your firewall is configured to accept connections only from trusted IP ranges.

At this point, you should be able to connect to Redis on TCP port 6379 from remote locations.

To verify that everything is set up properly, you can try to ping the Redis server from your remote machine using the redis-cli utility:

redis-cli -h <REDIS_IP_ADDRESS> ping

The command should return a response of PONG:

PONG


We want to hear your thoughts about this. Is there anything in particular that you love about it? What can we do to improve our services and experience? Leave a comment below or open a ticket on our helpdesk and we’ll personally review all suggestions and feedback. 

About Servercheap.NET

Since it was founded in 2015, Servercheap has always strived to provide its clients with enterprise-level performance at an unbeatable cost. Servercheap offers a wide range of customizable hybrid and virtual private server hosting services. All Servercheap clients enjoy a 99.9% uptime SLA and 24/7 rapid response support team.
At Servercheap, our core directive has always been to provide our clients with the best services and infrastructure possible, whether you’re hosting a game server, a high-intensity database, a development environment, or anything in-between.
For more information, visit https://www.servercheap.net

Leave a Reply

Your email address will not be published. Required fields are marked *