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
配置文件:
sudo nano /etc/sysconfig/memcached
在 OPTIONS
参数处,添加服务器 IP 地址 -l 192.168.100.20
。 这个通知 Memcached 仅仅监听指定接口。
OPTIONS="-l 192.168.100.20"
保存文件,并且重启 Memcached 服务,使得应用生效:
代码语言:javascript复制sudo systemctl restart memcached
一旦服务被配置,下一步就是在你的防火墙上打开 memcached 端口。
CentOS 防火墙配置工具是FirewallD
。这个命令将会创建一个新的 zone,名字为memcached
,打开端口11211
并且仅仅允许从客户端 IP 地址的访问。
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
扩展:
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 。