如何在Ubuntu 18.04上安装Memcached

时间:2020-03-05 15:30:15  来源:igfitidea点击:

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

可以通过编辑“ /etc/memcached.conf”文件来配置Memcached。
默认配置设置对于大多数用户而言已足够。

默认情况下,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

有几个用于与Memcache交互的Python库。

我们可以使用pip安装首选库:

pip install pymemcache
pip install python-memcached