如何在 CentOS 7 上安装 Memcached(缓存服务器)
Memcached是一个开源的分布式内存对象缓存程序,它允许我们通过在内存中缓存数据和对象来提高和加速动态Web应用程序的性能。
Memcached还用于缓存整个数据库表和查询,以提高数据库的性能。它是唯一免费提供的缓存系统,并被许多大型网站使用,例如 YouTube、Facebook、Twitter、Reddit 、Drupal、Zynga 等。
另请阅读:如何在 CentOS 8 上安装和配置 Memcached
如果配置不正确,Memcached 可能会遭受拒绝服务攻击。在本文中,我们将解释如何在 CentOS 7 Linux 发行版上安装和保护您的 Memcached 服务器。这些给出的说明也适用于 RHEL 和 Fedora 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"
让我们详细讨论上述每个参数。
- PORT :Memcached 运行所使用的端口。
- USER :Memcached 服务的启动守护进程。
- MAXCONN:用于将最大同时连接数设置为1024的值。对于繁忙的 Web 服务器,您可以根据需要增加到任意数量。
- CACHESIZE:将缓存大小内存设置为2048。对于繁忙的服务器,您最多可以增加4GB。
- OPTIONS :设置服务器的IP地址,以便Apache或Nginx网络服务器可以连接到它。
重新启动并启用您的 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
重新启动网络服务器
重新启动 Apache 或 Nginx 服务以反映更改。
systemctl restart httpd
systemctl restart nginx
使用 Memcached 缓存 MySQL 查询
这对所有人来说都不是一件容易的事,您需要使用 API 修改您的 PHP 代码以启用 MySQL 缓存。您可以在 Memcache with MySQL 和 PHP 中找到示例代码。
就是这样!在本文中,我们扩展了如何在本地网络接口上安装和保护 Memcached 服务器。如果您在安装过程中遇到任何问题,请在下面的评论部分寻求帮助。