如何在 CentOS 8 安装 Memcached

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

本文显示了如何在 CentOS 8 上安装和配置 Memcached。

在 CentOS 上安装 Memcached

Memcached 软件包包含在默认的 CentOS 8 仓库中。安装非常简单,以 root 或具有 sudo 特权的用户身份输入以下命令:

1
sudo dnf install memcached libmemcached

libmemcached 软件包提供了一些用于管理 Memcached 服务器的命令行工具。

安装完成后,通过键入以下内容启用并启动 Memcached 服务:

1
sudo systemctl enable memcached --now

要验证 memcached 是否正在运行,请键入:

1
sudo systemctl status memcached

输出应如下所示:

1
2
3
4
● memcached.service - memcached daemon
Loaded: loaded (/usr/lib/systemd/system/memcached.service; enabled; vendor preset: disabled)
Active: active (running) since Mon 2020-04-13 20:12:52 UTC; 2s ago
...

就是这样而已,您已经在 CentOS 8 服务器上安装了 Memcached,就可以开始使用它了。

配置 Memcached

可以在 /etc/sysconfig/memcached 文件中配置 Memcached 选项。默认情况下,Memcached 设置为仅在本地主机上侦听。

如果连接到服务器的客户端也正在同一主机上运行,​​则不应进行任何更改。

远程访问

如果将连接到 Memcached 的应用程序托管在远程服务器上,则需要配置防火墙并仅允许从客户端 IP 地址访问 Memcached 端口 11211

如果配置不当,则会被人用 Memcached 执行分布式拒绝服务(DDoS)攻击。

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

第一步是编辑 Memcached 配置,并将服务设置为在服务器的专用网络接口上进行侦听:

打开 memcached 配置文件:

1
sudo nano /etc/sysconfig/memcached

OPTIONS 参数中,添加服务器 IP 地址 -l 192.168.100.20。这指示 Memcached 仅绑定到指定的接口。

1
2
3
/etc/sysconfig/memcached

OPTIONS="-l 192.168.100.20"

保存文件并重新启动 Memcached 服务,以使更改生效:

1
sudo systemctl restart memcached

配置服务后,下一步是在防火墙中打开内存缓存端口。

CentOS 附带防火墙配置工具 FirewallD。下面的命令将创建一个名为 memcached 的新区域,打开端口 11211,并仅允许从客户端 IP 地址进行访问。

1
2
3
4
5
sudo firewall-cmd --new-zone=memcached --permanent
sudo firewall-cmd --zone=memcached --add-port=11211/udp --permanent
sudo firewall-cmd --zone=memcached --add-port=11211/tcp --permanent
sudo firewall-cmd --zone=memcached --add-source=192.168.100.30/32 --permanent
sudo firewall-cmd --reload

连接到 Memcached

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

PHP

要将 Memcached 用作 WordPress,Drupal 或 Magento 等 PHP 应用程序的缓存数据库,您需要安装 php-pecl-memcached 扩展名:

1
sudo apt install php-pecl-memcache

Python

有几个 Python 库可与 memcached 进行交互。您可以使用 pip 安装首选库:

1
pip install pymemcache
1
pip install python-memcached

结论

我们已经向您展示了如何在 CentOS 8 上安装 Memcached。有关此主题的更多信息,请查阅 Memcached Wiki