Memcached 是一个免费并且开源的高性能内存键值数据库。它主要用于系统缓存,通过缓存数据库中的结果来提高应用的响应速度。
在这篇指南中,我们将会讲解如何在 CentOS 7 上安装和配置 Memcached。
一、前提条件
在继续这个指南之前,确保你以拥有 sudo 权限用户身份登录系统。
二、安装 Memcached
Memcached 软件包被包括在默认的 CentOS 7 软件源中。安装很简单,仅仅输入下面的命令:
代码语言:javascript复制sudo yum install memcached libmemcached
libmemcached
软件包提供了一些用于管理 Memcached 服务器的命令行工具。
一旦安装完成,启动并且启用 Memcached 服务。
代码语言:javascript复制sudo systemctl start memcached
sudo systemctl enable memcached
就这些。此时你已经在你的 CentOS 7 服务器上安装和运行了 Memcached。
三、配置 Memcached
Memcached 可以通过编辑/etc/sysconfig/memcached
文件来进行配置。默认情况下,Memcached 监听所有的网络接口。在下面这些段落中,我们将会向你展示如何配置服务,用于本地和远程访问。
当被不正确地配置时, Memcached 可以被用来执行拒绝服务攻击(DDOS)。
3.1 仅仅本地访问
如果使用 Memcached 的客户端和 Memcached 服务器端都运行在同一台服务器,我们推荐设置 Memcached 服务仅仅监听本地接口。
想要这么做,使用你的文本编辑器,打开memcached
配置文件:
sudo nano /etc/sysconfig/memcached
如果OPTIONS
参数添加-l 127.0.0.1
。这个通知 Memcached 仅仅监听指定网络接口。
OPTIONS="-l 127.0.0.1"
重启 Memcached 服务,使修改生效。
代码语言:javascript复制sudo systemctl restart memcached
3.2 远程访问
如果连接 Memcached 的应用被托管在远程服务器,你需要配置你的防火墙,并允许 客户端的 IP 地址对 Memcached 端口 11211 的访问。
下面的例子假设你想要通过局域网连接到 Memcached 服务器。Memcached 服务器 IP 地址是192.168.100.20
,客户端 IP 地址是192.168.100.30
。
CentOS 的防火墙配置工具是 FirewallD。下面的命令将会创建一个命名为memcached
的新 zone,打开端口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
配置文件:
sudo nano /etc/sysconfig/memcached
在OPTIONS
参数处添加服务器 IP 地址-l 192.168.100.20
:
OPTIONS="-l 192.168.100.20"
保存文件并且重启 Memcached 服务:
代码语言:javascript复制sudo systemctl restart memcached
四、 连接 Memcached
想要连接到 Memcached 服务器,你需要使用一个指定语言的客户端。
4.1 PHP
想要使用 Memcached 作为你的PHP应用例如Wordpress,Drupal或者Magento的缓存数据库,你需要安装php-pecl-memcached
扩展:
sudo yum install php-pecl-memcache
4.2 Python
有一些 Python上的库可以用来和 memcache 交互,你可以使用pip来安装你喜欢的库:
代码语言:javascript复制pip install pymemcache
代码语言:javascript复制pip install python-memcached
五、总结
你已经学会了如何在你的 CentOS 7 服务器上安装 Memcached。想要了解更多关于这个主题的信息,翻阅 Memcached Wiki。