Memcached是一个的开源高性能内存键值数据存储。它主要用于通过从数据库调用结果中缓存各种对象来加速应用程序。

在本教程中,我们将说明在Ubuntu 20.04安装和配置Memcached的过程。您需要以root或者具有sudo访问权限的用户登录,才能在您的Debian系统安装软件包。

Memcached软件包包含在默认的Ubuntu 20.04存储库中。安装非常简单,只需执行以下步骤。第一步是更新软件包列表运行命令sudo apt update

然后安装Memcached和必须的CLI命令行工具,运行命令sudo apt install memcached libmemcached-tools

libmemcached-tools软件包包含几个用于管理Memcached服务器的命令行工具。完成后,Memcached服务将自动启动。

要检查服务的状态,请运行systemctl命令查看服务的状态。如果你还熟悉systemctl命令可参考我们的教程日如何列出Linux Systemd服务,查看服务的状态

sudo apt update
sudo apt install memcached libmemcached-tools
sudo systemctl status memcached

至此,您已经在Ubuntu 20.04服务器上成功安装了Memcached。

配置Memcached

Memcached可以通过编辑/etc/memcached.conf文件进行配置。默认配置设置足以满足大多数用户的需求。

默认情况下,Memcached服务仅在localhost本地回环地址监听。如果连接到服务器的客户端也在同一主机上运行,​​则无需更改默认配置文件。

如果配置不正确,Memcached可用于执行分布式拒绝服务(DDoS)攻击。要允许与Memcached服务器的远程连接。您需要配置防火墙,并仅允许受信任的客户端访问Memcached UDP端口11211。

在以下示例中,我们假设您要通过专用网络连接到Memcached服务器。服务器IP为192.168.100.20,客户端IP地址为192.168.100.30

如果使用的是UFW防火墙,请运行以下命令以允许从远程客户端IP地址192.168.100.30进行连接。如果您运行的是iptables,请运行iptable的命令。

如果你要允许来自远程所有IP地址的连接,请将IP地址更改为0.0.0.0

sudo ufw allow from 192.168.100.30 to any port 11211
#iptables -I INPUT -s 192.168.100.30 --dport 2112112 -j ACCEPT

一旦配置了防火墙,下一步就是编辑Memcached设置并设置Memcached服务以监听服务器的专用网络接口。

使用你喜欢的文本编辑器,编辑文件/etc/memcached.conf,在本教程我们将使用vim编辑文件/etc/memcached.conf。

sudo vim /etc/memcached.conf

找到以-l 127.0.0.1开头的行,并将127.0.0.1替换为服务器IP地址192.168.100.20

如果你要允许来自远程所有IP地址的连接,请将IP地址更改为0.0.0.0

# 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.100.20
/etc/memcached.conf

重新启动Memcached服务以使更改生效。现在,您可以从远程位置连接到Memcached服务器。

sudo systemctl restart memcached

连接到Memcached

要连接到Memcached服务器,您可以使用Memcached的客户端,或者使用编程语言连接到mencached。

要将Memcached用作WordPress,Drupal或Magento等PHP应用程序的缓存数据库,您需要安装php-memcached扩展,运行命令sudo apt install php-memcached

如果你使用python与Memcached进行交互,你可使用pip安装pymemcache或者python-memcached包

sudo apt install php-memcached
pip install pymemcache #for python
pip install python-memcached

结论

您已经了解了如何在Ubuntu 20.04服务器安装Memcached。有关此主题的更多信息,请参阅Memcached Wiki