This post shows students and new users the steps to install and use Memcached on Ubuntu Linux. Memcached is a free, high-performance, open-source in-memory key-value data store. Allows repeated calls to PHP objects or databases to be cached in system memory to help speed up dynamic web applications.
Memcached can be used with dynamic web applications such as WordPress, Drupal, and others to speed up applications by caching various objects from API results and database calls.
There is an alternative to Memcached called Redis, but Memcached is lightweight, mature, and suitable for most applications. If you are running a web application or portal and need to improve performance, installing Memcached might be something to do.
Also, for students and new users learning Linux, the easiest place to start learning is Ubuntu Linux. Ubuntu is the modern open source Linux operating system for desktops, servers, and other devices.
To start installing Memcached on Ubuntu Linux, follow the steps below.
How to install Memcached on Ubuntu Linux
The Memcached package is included with the default Ubuntu repositories and the installation process is fairly straightforward. Just run the following commands to install it along with its support tools.
sudo apt update sudo apt install memcached libmemcached-tools
The Memcached tools provide several command line tools for managing the Memcached server. For the most part, you will want to install it with the Memcached server.
After running the above commands, the Memcached server should be installed and ready to use. To check its status, run the following commands:
sudo systemctl status memcached
You should see lines similar to the following:
● memcached.service - memcached daemon Loaded: loaded (/lib/systemd/system/memcached.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2019-06-06 10:36:25 CDT; 27s ago Docs: man:memcached(1) Main PID: 19852 (memcached) Tasks: 10 (limit: 4682) CGroup: /system.slice/memcached.service └─19852 /usr/bin/memcached -m 64 -p 11211 -u memcache -l 127.0.0.1 -P /var/run/memcached/memcached.pid Jun 06 10:36:25 ubuntu1804 systemd: Started memcached daemon.
The server should be up and running and should be responding to requests. The following commands can be used to stop, start, and enable Memcached.
sudo systemctl stop memcached.service sudo systemctl start memcached.service sudo systemctl enable memcached.service
How to configure Memcached on Ubuntu Linux
Now that Memcached is installed, its configuration file can be found at /etc/memcached.conf
The default settings in the file should be sufficient for most environments and applications. However, for more advanced settings, open the file and make any changes you want to apply to your environment.
For example, Memcached listens on the server’s local IP address (127.0.0.1). If you only want it to be heard on a different IP, edit the lines in the file to look like the following:
sudo nano /etc/memcached.conf
Then replace the local server IP with the one you want to use. You can also change your default port number.
# Default connection port is 11211 -p 11211 # Run the daemon as root. The start-memcached will default to running as root if no # -u command is present in this config file -u memcache # Specify which IP address to listen on. The default is to listen on all IP addresses # This parameter is one of the only security measures that memcached has, so make sure # it's listening on a firewalled interface. -l 192.168.2.1
Save the file and close. then restart the Memcached services for the changes to take effect.
How to block remote access to Memcached
When the Memcached server is configured incorrectly, it can be used to perform distributed denial of service (DDoS) attacks. If you are going to allow remote access, you need to ensure that only the trusted client can access it remotely.
You can define the remote client IP in the configuration file above. IPs not in the above file are automatically denied access remotely.
You can also configure the Ubuntu firewall to block all remote clients except those that are explicitly allowed on the port 11211.
sudo ufw allow from 192.168.2.1 to any port 11211
To use Memcached as a caching database for your PHP application, such as WordPress, Drupal, Joomla, or Magento, you must install the php-memcached extension.
Run the following commands to install the Memcached PHP extension.
sudo apt install php-memcached
To use Memcached with Python, install the following extension.
pip install pymemcache pip install python-memcached
You should do that!
In this tutorial we have seen how to install and use Memcached on Ubuntu Linux. If you find any errors above or have something to add, use the comment form below.