如何在 Ubuntu 20.04 LTS 上安装 Memcached

通过将 Memcached 服务器与 PHP 和 Python 应用程序结合使用来优化数据库性能

如果您曾经感受到高数据库负载导致 Web 应用程序变慢的痛苦,并想知道“有没有办法减少数据库查询造成的延迟?”,那么这个问题的答案是肯定的。 Memcached 一个友好的邻里内存缓存守护进程来解决你所有的问题!缓存数据库是减轻数据库负载和加速动态 Web 应用程序的最简单方法之一。

Memcached 将自己定义为高性能、分布式内存对象缓存系统,本质上是通用的,但最初旨在通过减轻数据库负载来加速动态 Web 应用程序。由 Brad Fitzpatrick 于 2003 年为其网站 LiveJournal 开发。

在本文中,我们将了解如何在 Ubuntu 20.04 中安装和配置 Memcached,并了解其特定语言的客户端。

先决条件

安装有 Ubuntu 20.04 的系统,具有管理权限的用户,即 须藤 用户。

安装

Memcached 在官方 Ubuntu 20.04 存储库中可用,除了 Memcached 我们还将安装一个 CLI 工具,称为 libmemcached-工具 管理 Memcached。只需运行以下命令即可安装

sudo apt install memcached libmemcached-tools

验证安装

安装完成后,Memcached 守护进程会自行在后台启动。要验证安装,我们可以使用以下命令 libmemcached-工具 用于获取 Memcached 服务器统计信息的包。要么跑

memcstat --servers 本地主机

或者

memcstat --servers 127.0.0.1

memcstat 命令显示正在运行的服务器的统计信息。上面的命令将导致下面显示的输出。

各种统计数据,例如 正常运行时间 马上, 版本进程号 将显示为输出。但是,如果未显示任何输出,则可能是 Memcached 未运行。因此,您必须运行以下命令来启动 Memcached 服务器。

须藤 systemctl 启动内存缓存

要在系统启动时运行 Memcached 服务器,请使用以下命令。

须藤 systemctl 启用内存缓存

配置 Memcached

如果您已将 memcached 安装在网站服务器上,则无需更改配置文件,因为 memcached 已预先配置为与 localhost 一起使用。

另一方面,如果您在单独的系统上安装了 Memcached,您将需要更改配置以允许远程服务器访问 Memcached 服务器。

为 Memcached 服务器设置远程访问

Memcached 容易受到 DDoS(分布式拒绝服务)攻击。不正确的防火墙规则和开放的 UDP 端口将使您的服务器保持开放状态并容易受到 DDoS 攻击。

为了降低风险,我们可以在配置中禁用 Memcached 的 UDP 协议,或者设置防火墙仅允许受信任的服务器。

开箱即用,Ubuntu 没有打开 TCP 或 UDP 端口。此外,防火墙守护进程 飞翔 (简单的防火墙)默认不启用。

我们将启用防火墙并设置 Memcached 配置,以便我们可以缓解 DDoS 漏洞。

首先,启用 飞翔 通过运行以下命令:

须藤 systemctl 启用 ufw

然后启动 飞翔 通过运行以下命令来提供服务:

须藤 systemctl 启动 ufw

随着防火墙的运行,我们终于可以设置防火墙规则了。首先,启用端口 22 以允许 SSH 连接。远程访问所需的服务器需要 SSH。

须藤 ufw 允许 22

其次,你需要知道客户端的IP地址,即Web应用程序主机和服务器的IP地址,即Memcached服务器。

对于这个例子,让我们假设客户端 IP 是 192.168.0.4 和 Memcached 服务器 IP 是 192.168.0.5 在本地网络上。

因此,要允许 memcached 服务器远程访问客户端服务器,请运行:

sudo ufw 允许从 192.168.0.4 到任何端口 11211

更换 192.168.0.4 使用您想要的客户端 IP 地址。

接下来,编辑位于以下位置的 Memcached 配置文件 /etc/memcached.conf 通过跑步 纳米 命令。

须藤纳米 /etc/memcached.conf

内存缓存配置文件 配置文件将使用 nano 编辑器打开,查找 -l 127.0.0.1 配置中的行并替换 127.0.0.1 使用您的 Memcached 服务器 IP 或在这种情况下 192.168.0.5.

更换压机后 ctrl+o 写入配置文件并按回车键,按 ctrl+x 退出纳米。

重新启动 Memcached 服务器并 飞翔 通过运行以下命令防火墙。

须藤 systemctl 重启 memcached ufw

现在我们完成了在 Ubuntu 20.04 上安装和配置 Memcached 服务器。

连接到 Memcached 服务器

要使用 Memcached 服务器,您需要安装特定于语言的客户端。幸运的是,Memcached 支持许多流行的语言。

因此让我们看看如何安装 phpPython Memcached 的客户端。

PHP 是最流行的服务器端脚本语言,Web 开发人员主要使用 Memcached 来提高由 PHP 提供支持的 Web 应用程序的服务器性能。

要在 php 中安装 memcached 支持, 跑:

sudo apt 安装 php-memcached

Python 也有几个可以与 Memcached 服务器工作和交互的库,例如 缓存 或者 python-memcached.

您可以通过运行以下 pip 命令为 python 安装 memcached:

pip 安装 pymemcache
pip 安装 python-memcached

总之,我们研究了 Ubuntu 20.04 中 Memcached 的安装、配置和少数特定语言的客户端。

要了解 Memcached 的更多细节和高级用法,请查看 Memcached Wiki。