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

在本教程中,我们将说明如何在CentOS 7上安装和配置Memcached。

先决条件

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

安装Memcached

Memcached软件包包含在默认的CentOS 7存储库中。安装非常简单,只需键入以下命令:

sudo yum install memcached libmemcached

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

安装完成后,启动并启用Memcached服务

sudo systemctl start memcached 
sudo systemctl enable memcached

就是这样,此时,您已经在CentOS 7服务器上安装并运行了Memcached。

配置Memcached

可以通过编辑/etc/sysconfig/memcached文件来配置

Memcached。默认情况下,Memcached设置为在所有接口上侦听。在以下各节中,我们将向您展示如何为本地和远程访问配置服务。

如果配置不正确,则可以使用Memcached进行分布式拒绝服务(DDoS)攻击。

仅限本地访问

如果连接到服务器的客户端也在同一主机上运行,​​建议将Memcached服务设置为仅侦听本地主机。

为此,请使用文本编辑器打开memcached配置文件:

sudo nano /etc/sysconfig/memcached

OPTIONS参数中添加-l 127.0.0.1。这指示Memcached仅绑定到指定的接口。

/etc/sysconfig/memcached

OPTIONS="-l 127.0.0.1"

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

sudo systemctl restart memcached

远程访问

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

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

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配置并将服务设置为侦听服务器的专用网络接口:

打开memcached配置文件:

sudo nano /etc/sysconfig/memcached

OPTIONS参数中添加服务器IP地址-l 192.168.100.20

/etc/sysconfig/memcached

OPTIONS="-l 192.168.100.20"

保存文件并重新启动Memcached服务:

sudo systemctl restart memcached

连接到Memcached

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

PHP

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

sudo apt install php-pecl-memcache

Python

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

安装首选库。

pip install pymemcache
pip install python-memcached

结论

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

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