Memcached 是一个免费并且开源的高性能内存键值数据库。它主要用于系统缓存,通过缓存数据库中的结果来提高应用的响应速度。
在这篇指南中,我们将会讲述如何在 Ubuntu 18.04 上安装和配置最新版本的 Memcached。同样的指令,适用于 Ubuntu16.04 和其他任何基于 Ubuntu 的发行版。
一、前提条件
在继续这个指南之前,确保你已经以 有 sudo 权限的用户身份登录系统。
二、安装 Memcached
Memcached 软件包被包含在默认的 18.04 软件源中。这个安装非常直接,仅仅跟着下面的步骤来:
01.开始更新 apt 软件包列表:
代码语言:javascript复制sudo apt update
02.安装 Memcached,输入:
代码语言:javascript复制sudo apt install memcached libmemcached-tools
这个libmemcached-tools
软件包包含了各种命令行工具用来管理 Memcached 服务器。
03.一旦安装完成,Memcached 服务将会被自动启动。想要检查服务状态,输入下面的命令:
代码语言:javascript复制sudo systemctl status memcached
输出将会像下面这样:
代码语言:javascript复制 memcached.service - memcached daemon
Loaded: loaded (/lib/systemd/system/memcached.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2019-04-30 15:13:41 PDT; 37s ago
Docs: man:memcached(1)
Main PID: 10753 (memcached)
Tasks: 10 (limit: 2319)
CGroup: /system.slice/memcached.service
`-10753 /usr/bin/memcached -m 64 -p 11211 -u memcache -l 127.0.0.1 -P /var/run/memcached/memcached.pid
就这些,此时你已经安装好了 Memcached,并且运行在你的 Ubuntu 18.04 服务器上。
三、配置 Memcached
Memcached 可以通过编辑/etc/memcached.conf
文件进行配置。默认的配置文件对大部分用户来说都足够了。
默认情况下,Memcached 被配置为仅仅监听本地 localhost。如果连接服务器的客户端和服务器在同一个主机上,你不需要修改默认的配置文件。
3.1 远程访问
当 Memcached 没有被正确配置时,它可以被用来执行拒绝服务攻击(DDos)。如果你想要允许远程访问 Memcached 服务,你需要配置你的防火墙,并且仅仅允许被信任的客户端通过 11211 UDP 端口访问 Memcached。
下面的例子,假设你想通过局域网连接你的 Memcached 服务器。服务器 IP 地址是192.168.100.20
,并且客户端 IP 地址是192.168.100.30
。
Ubuntu 自带的防火墙配置工具被称为 UFW。默认情况下,UFW被安装,但是没有被启用。在启用 UFW 之前,首先添加一个规则允许 SSH 连接:
代码语言:javascript复制sudo ufw allow 22
允许远程客户端 IP 地址的访问:
代码语言:javascript复制sudo ufw allow from 192.168.100.30 to any port 11211
启用 UFW,输入:
代码语言:javascript复制sudo ufw status
一旦防火墙被配置好了,下一步就是编辑 Memcached 配置并且设置 Memcached 服务监听服务器的局域网接口:
想要这么做,打开配置文件memcached.conf
:
sudo nano /etc/memcached.conf
定位到这一行,以-l 127.0.0.1
并且使用服务器的 IP 地址192.168.100.20
替换127.0.0.1
。
# Specify which IP address to listen on. The default is to listen on all IP addresses
# This parameter is one of the only security measures that memcached has, so make sure
# it's listening on a firewalled interface.
-l 192.168.100.20
重启 Memcached 服务,使修改生效:
代码语言:javascript复制sudo systemctl restart memcached
你可以从你的远程位置连接到 Memcached 服务器了。
四、 连接 Memcached
想要连接到 Memcached 服务器,你需要使用一个指定语言的客户端。
4.1 PHP
想要使用 Memcached 作为你的PHP应用例如Wordpress,Drupal,Joomla或者Magento的缓存数据库,你需要安装php-memcached
扩展:
sudo apt install php-memcached
4.2 Python
有一些 Python上的库可以用来和 memcache 交互,你可以使用pip来安装你喜欢的库:
代码语言:javascript复制pip install pymemcache
代码语言:javascript复制pip install python-memcached
五、总结
你已经学会了如何在你的 Ubuntu 服务器上安装 Memcached。想要了解更多关于这个主题的信息,翻阅 Memcached Wiki。