如何在 CentOS 8 上安装 Memcached

2020-05-09 17:23:33 浏览数 (1)

Memcached 是一个免费并且开源的高性能内存键值数据库。它主要用于系统缓存,通过缓存数据库中的结果来提高应用的响应速度。

在这篇指南中,我们将会讲解如何在 CentOS 8 上安装和配置 Memcached。

一、在 CentOS 上安装 Memcached

Memcached 软件包被包括在默认的 CentOS 7 软件源中。安装很简单,以 root 或者其他有 sudo 权限的用户身份输入下面的命令:

代码语言:javascript复制
sudo dnf install memcached libmemcached

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

一旦安装完成,启动并且启用 Memcached 服务。

代码语言:javascript复制
sudo systemctl enable memcached --now

想要验证 memcached 是否正在运行,输入:

代码语言:javascript复制
sudo systemctl status memcached

输出类似下面这样:

代码语言:javascript复制
● memcached.service - memcached daemon
   Loaded: loaded (/usr/lib/systemd/system/memcached.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2020-04-13 20:12:52 UTC; 2s ago
   ...

就这些。你已经在你的 CentOS 8 系统上安装了 Memcached 并且你可以开始使用它了。

二、配置 Memcached

Memcached 可以通过编辑/etc/sysconfig/memcached文件来进行配置。默认情况下,Memcached 监听所有的网络接口。

如果连接服务器的客户端也运行在同样的服务器上,你可以不做任何修改。

2.1 远程访问

如果你连接 Memcached 的应用被托管在一个远程服务器,你需要配置你的防火墙,并且允许从客户端 IP 地址访问 Memcached 端口`11211。

当被不适当地配置后,Memcached 可以被用来执行 DDOS 攻击。

下面的例子假设你想在同一个局域网连接到 Memcached 服务器。 Memcached 服务器 IP 是 192.168.100.20, 并且客户端的 IP 地址是 192.168.100.30

第一步就是编辑 Memcached 配置文件,并且设置服务监听局域网接口:

打开 memcached 配置文件:

代码语言:javascript复制
sudo nano /etc/sysconfig/memcached

OPTIONS 参数处,添加服务器 IP 地址 -l 192.168.100.20。 这个通知 Memcached 仅仅监听指定接口。

代码语言:javascript复制
OPTIONS="-l 192.168.100.20"

保存文件,并且重启 Memcached 服务,使得应用生效:

代码语言:javascript复制
sudo systemctl restart memcached

一旦服务被配置,下一步就是在你的防火墙上打开 memcached 端口。

CentOS 防火墙配置工具是FirewallD。这个命令将会创建一个新的 zone,名字为memcached,打开端口11211并且仅仅允许从客户端 IP 地址的访问。

代码语言:javascript复制
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 服务器,你需要使用一个指定语言的客户端。

3.1 PHP

想要使用 Memcached 作为你的PHP应用例如Wordpress,Drupal或者Magento的缓存数据库,你需要安装php-pecl-memcached扩展:

代码语言:javascript复制
sudo dnf install php-pecl-memcache

3.2 Python

有一些 Python上的库可以用来和 memcache 交互,你可以使用pip来安装你喜欢的库:

代码语言:javascript复制
pip install pymemcache
代码语言:javascript复制
pip install python-memcached

四、总结

我们已经向你展示如何在 CentOS 8 上安装 Memcached。想要了解更多关于这个主题的信息,翻阅 Memcached Wiki 。

0 人点赞