
Memcached是一个免费和开源的高性能内存键值数据存储。通常情况下,它作为一个缓存系统,通过缓存数据库调用结果中的各种对象来加快应用程序的速度。
这篇文章展示了如何在CentOS 8上安装和配置Memcached。
在CentOS上安装Memcached
Memcached软件包包含在默认的CentOS 8软件库中。安装非常简单,以root身份或具有sudo权限的用户输入以下命令。
sudo dnf install memcached libmemcached
libmemcached包提供了几个命令行工具来管理Memcached服务器。
安装完成后,通过输入以下命令启用并启动Memcached服务。
sudo systemctl enable memcached --now
为了验证memcached是否在运行,键入。
sudo systemctl status memcached
输出结果应该是这样的。
● 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被设置为只在localhost上监听。
如果连接到服务器的客户端也在同一主机上运行,你不应该做任何改变。
远程访问
如果将连接到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只绑定到指定的接口。/etc/sysconfig/memcached
OPTIONS="-l 192.168.100.20"
保存文件并重启Memcached服务以使更改生效。
sudo systemctl restart memcached
一旦服务被配置好,下一步就是在你的防火墙中打开memcached端口。
CentOS自带了一个防火墙配置工具FirewallD。下面的命令将创建一个名为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服务器,你需要使用一个特定语言的客户端。
PHP
要使用Memcached作为PHP应用程序的缓存数据库,如WordPress、Drupal或Magento,你需要安装php-pecl-memcached扩展。
sudo dnf install php-pecl-memcache
Python
有几个Python库可以与memcached进行交互。你可以使用pip安装你喜欢的库。
pip install pymemcache
pip install python-memcached
总结
我们已经向您展示了如何在CentOS 8上安装Memcached。更多关于这个主题的信息,请参考Memcached Wiki 。