Memcached是一个开源高性能内存中键值数据存储。它主要用作缓存系统,通过从数据库调用结果中缓存各种对象来加速应用程序。
在本教程中,我们将说明如何在CentOS 7安装和配置Memcached。在继续学习本教程之前,请确保您以root或者具有sudo权限的用户登录。
Memcached软件包包含在默认的CentOS 7存储库中。安装非常简单,只需运行命令sudo yum install memcached libmemcached
。
libmemcached
软件包包含一些用于管理Memcached服务器的命令行工具。安装完成后,启动并启用Memcached服务。
此时,您已经在CentOS 7服务器安装并运行Memcached。
sudo yum install memcached libmemcached
sudo systemctl start memcached
sudo systemctl enable memcached
配置Memcached
Memcached可以通过编辑/etc/memcached.conf
文件进行配置。默认配置设置足以满足大多数用户的需求。
默认情况下,Memcached服务仅在localhost本地回环地址监听。如果连接到服务器的客户端也在同一主机上运行,则无需更改默认配置文件。
如果配置不正确,Memcached可用于执行分布式拒绝服务(DDoS)攻击。要允许与Memcached服务器的远程连接。
您需要配置防火墙,并仅允许受信任的客户端访问Memcached UDP端口11211。
如果连接到服务器的客户端也在同一主机上运行,建议将Memcached服务设置为仅侦听本地主机。
使用你喜欢的文本编辑器,编辑文件/etc/sysconfig/memcached,在本教程我们将使用vim编辑文件/etc/sysconfig/memcached。
在OPTIONS
参数中添加-l 127.0.0.1
。这指示Memcached仅绑定到指定的接口。
sudo vim /etc/sysconfig/memcached
OPTIONS="-l 127.0.0.1"
编辑完成后,保存文件并退出vim,然后重新启动Memcached服务,以使更改生效。
sudo systemctl restart memcached
远程访问
如果要连接到Memcached的应用程序托管在远程服务器上,则需要配置防火墙,并仅允许从指定的IP地址访问Memcached端口11211。
以下示例假定您要通过专用网络连接到Memcached服务器。Memcached服务器的IP为192.168.100.20
,客户端的IP地址为192.168.100.30
。
CentOS带有防火墙配置工具FirewallD。下面的命令将创建一个名为memcached
的新区域,并打开端口11211
,仅允许从IP地址192.168.100.30进行访问。
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配置并将服务设置为侦听服务器的专用网络接口。
使用你喜欢的文本编辑器,编辑文件/etc/sysconfig/memcached,在本教程我们将使用vim编辑文件/etc/sysconfig/memcached。
在OPTIONS
参数中添加服务器IP地址-l 192.168.100.20
。保存文件并重新启动Memcached服务。
sudo vim /etc/sysconfig/memcached
OPTIONS="-l 192.168.100.20"
sudo systemctl restart memcached
连接到Memcached
要连接到Memcached服务器,您可以使用Memcached的客户端,或者使用编程语言连接到mencached。
要将Memcached用作WordPress,Drupal或Magento等PHP应用程序的缓存数据库,您需要安装php-memcached
扩展,运行命令sudo apt install php-pecl-memcache
。
如果你使用python与Memcached进行交互,你可使用pip安装pymemcache或者python-memcached包
sudo apt install php-pecl-memcache
pip install pymemcache #for python
pip install python-memcached
结论
您已经了解了如何在CentOS 7服务器安装Memcached。有关此主题的更多信息,请参阅Memcached Wiki 。