通过将 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 支持许多流行的语言。
因此让我们看看如何安装 php
和 Python
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。