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

在本教程中,我们将介绍在Ubuntu 18.04上安装和配置最新版本的Memcached的过程。相同的说明适用于Ubuntu 16.04和任何基于Ubuntu的发行版。

先决条件

在继续学习本教程之前,请确保您以具有sudo权限的用户身份登录

安装Memcached

Memcached软件包包含在默认的Ubuntu 18.04存储库中。安装非常简单,只需执行以下步骤:

首先更新apt软件包列表:

sudo apt update

通过键入以下内容安装Memcached:

sudo apt install memcached libmemcached-tools

libmemcached-tools软件包包含几个用于管理Memcached服务器的命令行工具。

安装完成后,Memcached服务将自动启动。要检查服务的状态,请输入以下命令:

sudo systemctl status memcached

输出将如下所示:

● memcached.service - memcached daemon
  Loaded: loaded (/lib/systemd/system/memcached.service; enabled; vendor preset: enabled)
  Active: active (running) since Tue 2019-04-30 15:13:41 PDT; 37s ago
    Docs: man:memcached(1)
Main PID: 10753 (memcached)
   Tasks: 10 (limit: 2319)
  CGroup: /system.slice/memcached.service
          `-10753 /usr/bin/memcached -m 64 -p 11211 -u memcache -l 127.0.0.1 -P /var/run/memcached/memcached.pid

目前您已在Ubuntu 18.04服务器上安装并运行Memcached。

配置Memcached

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

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

远程访问

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

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

Ubuntu带有一个称为UFW的防火墙配置工具。默认情况下,已安装 UFW ,但未启用。在启用UFW防火墙之前,首先添加一条规则,该规则将允许传入的SSH连接:

sudo ufw allow 22

允许从远程客户端IP地址进行评估:

sudo ufw allow from 192.168.100.30 to any port 11211

通过键入以下内容来启用UFW:

sudo ufw status

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

为此,请打开memcached.conf配置文件:

sudo nano /etc/memcached.conf

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

/etc/memcached.conf

# 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

重新启动Memcached服务,以使更改生效:

sudo systemctl restart memcached

您现在可以从远程位置连接到Memcached服务器。

正在连接到Memcached

要连接到Memcached服务器,您需要使用特定语言的客户端。

PHP

要将Memcached用作 PHP 应用程序(例如 WordPress Drupal Joomla Magento)的缓存数据库,您需要安装php-memcached扩展名:

sudo apt install php-memcached

Python

有几个 Python 库用于与内存缓存进行交互。您可以使用 pip

安装首选库

pip install pymemcache
pip install python-memcached

结论

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

如果你喜欢我们的内容可以选择在下方二维码中捐赠我们,或者点击广告予以支持,感谢你的支持