如何在Debian 9上安装Memcached

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

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

在本教程中,我们将引导我们完成在Debian 9上安装和配置Memcached的过程。

准备工作

我们需要以具有sudo访问权限的用户身份登录才能在Debian系统上安装软件包。

安装Memcached

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

  • 更新软件包列表:
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 Wed 2019-06-05 21:00:57 GMT; 52s ago
    Docs: man:memcached(1)
Main PID: 1371 (memcached)
  CGroup: /system.slice/memcached.service
          └─1371 /usr/bin/memcached -m 64 -p 11211 -u memcache -l 127.0.0.1

就是这样,我们已经在Debian 9服务器上成功安装了Memcached。

配置Memcached

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

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

远程访问

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

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

如果使用的是UFW,请运行以下命令以允许从远程客户端IP地址进行评估:

sudo ufw allow from 192.168.100.30 to any port 11211

如果我们运行的是普通的旧iptables,请运行:

iptables -I INPUT -s 192.168.100.30 --dport 2112112 -j ACCEPT

一旦配置了防火墙,下一步就是编辑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或者Magento)的缓存数据库,我们需要安装'php-memcached'扩展名:

sudo apt install php-memcached

Python

有几个用于与Memcache交互的Python库。
我们可以使用pip安装首选库:

pip install pymemcache
pip install python-memcached