如何在CentOS 8系统镜像部署Memcached缓存工具?

Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度,由LiveJournal的Brad Fitzpatrick开发,但被许多网站使用。这是一套开放源代码软件,以BSD license授权发布。本文将会记录如何在 CentOS 8 上安装和配置 Memcached的教程。

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

sudo dnf install memcached libmemcached

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

sudo systemctl enable memcached --now

然后我们去验证是否可以生效。

sudo systemctl status memcached

我们看到下面的输出内容表示已经安装好。

● 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。

Memcached 选项可以在 /etc/sysconfig/memcached 文件中配置。 默认情况下,Memcached 设置为仅在 localhost 上监听中。如果连接到服务器的客户端也在同一台主机上运行,则不应进行任何更改。

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

如果配置不当,Memcached 可用于执行分布式拒绝服务 (DDoS) 攻击。这个就是我们常见的有被攻击11211端口的问题,之前有一次安全问题导致很多人遭殃。

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

第一步,我们需要编辑 Memcached 配置并将服务设置为侦听服务器的专用网络接口:

打开 memcached 配置文件:

sudo nano /etc/sysconfig/memcached

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

OPTIONS="-l 192.168.100.20"

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

sudo systemctl restart memcached

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

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

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。

1、PHP

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

sudo dnf install php-pecl-memcache

2、Python

有几个 Python 库可用于与 memcached 交互。 我们可以使用 pip 安装您喜欢的库:

pip install pymemcache
pip install python-memcached

这样,我们已经成功在CentOS8中部署memcached。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注