How to Install and Configure Memcached on CentOS 8

Memcached is an opensource, high-performance, and superfast in-memory key-value store that is designed for speeding up web applications. Among the popular web applications that rely on Memcached include FaceBook, Reddit, and Twitter.

In this article, you will learn how to install and configure a Memcached caching system on CentOS 8 Linux (same instructions also work on RHEL 8 Linux).

Installing Memcached in CentOS 8

By default, Memcached packages are included in CentOS 8 repositories. With this in mind, we are going to use the default dnf package manager to install Memcached alongside other packages.

$ sudo dnf install memcached libmemcached
Install Memcached in CentOS 8
Install Memcached in CentOS 8

To view detailed information about the Memcached package, run the following rpm command.

$ rpm -qi

The command will display details such as the version, release, architecture type, licensing, and release date of the package as shown below.

View Memcached Information
View Memcached Information

Configuring Memcached in CentOS 8

Now that we are done installing Memcached, we need to configure it so that other applications can interact with it. The configuration of Memcached is located in the /etc/sysconfig/memcached file.

By default, Memcached listens to port 11211 and is configured to listen only to the localhost system as shown in line number 5.

View Memcached Configuration
View Memcached Configuration

To configure Memcached so that applications from the remote systems can connect to the server, you need to change the localhost address 127.0.0.1 to the address of the remote host.

Let’s assume that we are in a private local network. Our Memcached server IP is 192.168.2.101 while the remote client’s IP where the application connecting to Memcached is 192.168.2.105.

We are going to replace the localhost address with the remote client’s IP 192.168.2.105 as shown.

Configure Memcached on CentOS 8
Configure Memcached on CentOS 8

Next, we need to open port 11211 on the firewall to allow traffic from the client host.

$ sudo firewall-cmd --add-port=11211/tcp --zone=public --permanent
$ sudo firewall-cmd --reload

To confirm that port 11211 is opened on the firewall, execute the command.

$ sudo firewall-cmd --list-ports | grep 11211
Confirm Memcached Port
Confirm Memcached Port

Perfect!, the output confirms that the port is opened. Traffic from the remote client can now access the Memcached server.

Having wound up with the settings and configurations, start and enable Memcached as shown.

$ sudo systemctl start memcached
$ sudo systemctl enable memcached

To verify the status of Memcached, run the command.

$ sudo systemctl status memcached
Verify Memcached Status
Verify Memcached Status

The output is a confirmation that Memcached is up and running.

Enable Memcached for Applications

If you are running a PHP powered application such as Drupal, Magento or WordPress, install the php-pecl-memcache extension for your application to seamlessly communicate with the Memcached server.

$ sudo dnf install php-pecl-memcache

If you are running a Python application, use the pip package installer to install the following Python libraries.

$ pip3 install pymemcache --user
$ pip3 install python-memcached --user

And that’s it. In this guide, you learned how to install Memcached caching system on CentOS 8 server. For more information about Memcached check out the Memcached Wiki.

James Kiarie
This is James, a certified Linux administrator and a tech enthusiast who loves keeping in touch with emerging trends in the tech world. When I'm not running commands on the terminal, I'm taking listening to some cool music. taking a casual stroll or watching a nice movie.

Each tutorial at TecMint is created by a team of experienced Linux system administrators so that it meets our high-quality standards.

Join the TecMint Weekly Newsletter (More Than 156,129 Linux Enthusiasts Have Subscribed)
Was this article helpful? Please add a comment or buy me a coffee to show your appreciation.

1 Comment

Leave a Reply
  1. I can start the single instance but I tried starting creating another instance by creating a file as /etc/memcached.11212 and running service memcached@11212 and it shows an error as:

    Started memcached daemon.
    bind(): Permission denied
    bind(): Permission denied
    failed to listen on TCP port 11214: Permission denied
    [email protected]: Main process exited, code=exited, status=71/OSERR
    [email protected]: Failed with result 'exit-code'.
    

    Can you explain how I can start the second instance? I have my firewall off, I have no service running at 11212, etc

    Thanks,
    Sadashiv

    Reply

Got Something to Say? Join the Discussion...

Thank you for taking the time to share your thoughts with us. We appreciate your decision to leave a comment and value your contribution to the discussion. It's important to note that we moderate all comments in accordance with our comment policy to ensure a respectful and constructive conversation.

Rest assured that your email address will remain private and will not be published or shared with anyone. We prioritize the privacy and security of our users.