网站搜索

如何在 CentOS 7 上安装 Memcached(缓存服务器)


Memcached是一个开源的分布式内存对象缓存程序,它允许我们通过在内存中缓存数据和对象来提高和加速动态Web应用程序的性能。

Memcached还用于缓存整个数据库表和查询,以提高数据库的性能。它是唯一免费提供的缓存系统,并被许多大型网站使用,例如 YouTubeFacebookTwitterRedditDrupalZynga 等。

另请阅读:如何在 CentOS 8 上安装和配置 Memcached

如果配置不正确,Memcached 可能会遭受拒绝服务攻击。在本文中,我们将解释如何在 CentOS 7 Linux 发行版上安装和保护您的 Memcached 服务器。这些给出的说明也适用于 RHELFedora Linux。

在 CentOS 7 中安装 Memcached

首先,更新本地软件包索引,然后使用以下 yum 命令从官方 CentOS 存储库安装 Memcached

yum update
yum install memcached

接下来,我们将安装 libmemcached – 一个客户端库,它提供了一些工具来管理您的 Memcached 服务器。

yum install libmemcached

Memcached 现在应该作为服务安装在您的 CentOS 系统上,以及需要您测试其连接的工具。现在我们可以进一步保护其配置设置。

保护 Memcached 配置设置的安全

为了确保已安装的 Memcached 服务正在侦听 127.0.0.1 本地接口,我们将更改 / 中的 OPTIONS 变量etc/sysconfig/memcached 配置文件。

vi /etc/sysconfig/memcached

搜索 OPTIONS 变量,并将 -l 127.0.0.1 -U 0 添加到 OPTIONS 变量。这些配置设置将保护我们的服务器免受拒绝服务攻击。

PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="64"
OPTIONS="-l 127.0.0.1 -U 0" 

让我们详细讨论上述每个参数。

  1. PORT :Memcached 运行所使用的端口。
  2. USER :Memcached 服务的启动守护进程。
  3. MAXCONN:用于将最大同时连接数设置为1024的值。对于繁忙的 Web 服务器,您可以根据需要增加到任意数量。
  4. CACHESIZE:将缓存大小内存设置为2048。对于繁忙的服务器,您最多可以增加4GB
  5. OPTIONS :设置服务器的IP地址,以便ApacheNginx网络服务器可以连接到它。

重新启动并启用您的 Memcached 服务以应用您的配置更改。

systemctl restart memcached
systemctl enable memcached

启动后,您可以使用以下 netstat 命令确认您的 Memcached 服务已绑定到本地接口并仅侦听 TCP 连接。

netstat -plunt

您还可以使用 memcached-tool 检查服务器的统计信息,如图所示。

memcached-tool 127.0.0.1 stats

现在,请确保通过在防火墙上打开端口 11211 来允许访问 Memcached 服务器,如图所示。

firewall-cmd --permanent --zone=public --add-port=11211/tcp

安装 Memcached PHP 扩展

现在,安装 PHP 扩展以与 Memcached 守护程序配合使用。

yum install php-pecl-memcache

安装 Memcached Perl 库

Memcached 安装 Perl 库。

yum install perl-Cache-Memcached

安装 Memcached Python

安装 Memcached 的 python 库。

yum install python-memcached

重新启动网络服务器

重新启动 ApacheNginx 服务以反映更改。

systemctl restart httpd
systemctl restart nginx

使用 Memcached 缓存 MySQL 查询

这对所有人来说都不是一件容易的事,您需要使用 API 修改您的 PHP 代码以启用 MySQL 缓存。您可以在 Memcache with MySQL 和 PHP 中找到示例代码。

就是这样!在本文中,我们扩展了如何在本地网络接口上安装和保护 Memcached 服务器。如果您在安装过程中遇到任何问题,请在下面的评论部分寻求帮助。