如何在Debian 9上安装Memcached
Memcached是一个免费的开源高性能内存中键值数据存储。
它主要用于通过从数据库调用结果中缓存各种对象来加速应用程序。
在本教程中,我们将引导我们完成在Debian 9上安装和配置Memcached的过程。
准备工作
我们需要以具有sudo访问权限的用户身份登录才能在Debian系统上安装软件包。
安装Memcached
Memcached软件包包含在默认的Debian 9存储库中。
安装非常简单,只需执行以下步骤:
- 更新软件包列表:
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 Wed 2019-06-05 21:00:57 GMT; 52s ago Docs: man:memcached(1) Main PID: 1371 (memcached) CGroup: /system.slice/memcached.service └─1371 /usr/bin/memcached -m 64 -p 11211 -u memcache -l 127.0.0.1
就是这样,我们已经在Debian 9服务器上成功安装了Memcached。
配置Memcached
可以通过编辑“ /etc/memcached.conf”文件来配置Memcached。
默认配置设置对于大多数用户而言已足够。
默认情况下,Memcached服务仅在localhost上侦听。
如果连接到服务器的客户端也在同一主机上运行,则无需更改默认配置文件。
远程访问
如果配置不正确,则可以使用Memcached进行分布式拒绝服务(DDoS)攻击。
要允许与Memcached服务器的远程连接,我们需要配置防火墙并仅允许受信任的客户端访问Memcached UDP端口11211.
在以下示例中,我们假设我们要通过专用网络连接到Memcached服务器。
服务器IP为“ 192.168.100.20”,客户端IP地址为“ 192.168.100.30”
如果使用的是UFW,请运行以下命令以允许从远程客户端IP地址进行评估:
sudo ufw allow from 192.168.100.30 to any port 11211
如果我们运行的是普通的旧iptables,请运行:
iptables -I INPUT -s 192.168.100.30 --dport 2112112 -j ACCEPT
一旦配置了防火墙,下一步就是编辑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或者Magento)的缓存数据库,我们需要安装'php-memcached'扩展名:
sudo apt install php-memcached
Python
有几个用于与Memcache交互的Python库。
我们可以使用pip安装首选库:
pip install pymemcache
pip install python-memcached