如何在Ubuntu 18.04上安装Memcached
Memcached是一个免费的开源高性能内存中键值数据存储。
它最常用于通过从数据库调用结果中缓存各种对象来加速应用程序。
在本教程中,我们将介绍在Ubuntu 18.04上安装和配置最新版本的Memcached的过程。
相同的说明适用于Ubuntu 16.04和任何基于Ubuntu的发行版。
准备工作
在继续本教程之前,请确保我们以具有sudo特权的用户身份登录。
安装Memcached
Memcached软件包包含在默认的Ubuntu 18.04存储库中。
安装非常简单,只需执行以下步骤:
- 首先更新apt软件包列表:
sudo apt update
- 通过键入以下命令安装Memcached:
sudo apt install memcached libmemcached-tools
“ libmemcached-tools”软件包提供了几个用于管理Memcached服务器的命令行工具。
- 安装完成后,Memcached服务将自动启动。要检查服务的状态,请输入以下命令:
sudo systemctl status memcached
输出将如下所示:
● 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
就这样,此时我们已经在Ubuntu 18.04服务器上安装并运行了Memcached。
配置Memcached
可以通过编辑“ /etc/memcached.conf”文件来配置Memcached。
默认配置设置对于大多数用户而言已足够。
默认情况下,Memcached配置为仅在本地主机上侦听。
如果连接到服务器的客户端也在同一主机上运行,则无需更改默认配置文件。
远程访问
如果配置不正确,则可以使用Memcached进行分布式拒绝服务(DDoS)攻击。
如果要允许对Memcached服务器的远程访问,则需要配置防火墙,并仅允许从受信任的客户端访问Memcached UDP端口11211.
以下示例假定我们要通过专用网络连接到Memcached服务器。
服务器IP为“ 192.168.100.20”,客户端IP地址为“ 192.168.100.30”
Ubuntu附带了一个名为UFW的防火墙配置工具。
默认情况下,UFW已安装但未启用。
在启用UFW防火墙之前,首先添加一条规则,该规则将允许传入的SSH连接:
sudo ufw allow 22
允许从远程客户端IP地址进行评估:
sudo ufw allow from 192.168.100.30 to any port 11211
通过键入以下内容启用UFW:
sudo ufw status
配置防火墙后,下一步就是编辑Memcached配置并设置Memcached服务以侦听服务器的专用网络接口:
为此,请打开“ memcached.conf”配置文件:
sudo nano /etc/memcached.conf
找到以'-l 127.0.0.1'开头的行,并将'127.0.0.1'替换为服务器IP地址'192.168.100.20'。
/etc/memcached.conf
# 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服务,以使更改生效:
sudo systemctl restart memcached
现在,我们可以从远程位置连接到Memcached服务器。
连接到Memcached
要连接到Memcached服务器,我们需要使用特定于语言的客户端。
的PHP
要将Memcached用作PHP应用程序(如WordPress,Drupal,Joomla或者Magento)的缓存数据库,我们需要安装'php-memcached'扩展名:
sudo apt install php-memcached
Python
有几个用于与Memcache交互的Python库。
我们可以使用pip安装首选库:
pip install pymemcache
pip install python-memcached