注:本教程在Vultr VPS上测试通过,如需部署请前往Vultr.com
Memcached是一个开源的分布式内存中对象缓存系统。它主要用于通过存储来自数据库调用和页面呈现结果的数据块来加速动态Web应用程序。
在本指南中,我们将在Ubuntu 18.04上安装和保护Memcached。
先决条件
新鲜的Vultr Ubuntu 18.04服务器
具有非root用户帐户 sudo
访问
安装Memcached
首先,更新系统:
sudo apt update && sudo apt upgrade -y
接下来,安装官方的Memcached软件包;以及 libmemcached-tools
,提供了一些与Memcached配合使用的实用程序:
sudo apt install -y memcached libmemcached-tools
Memcached现在将作为服务安装。您可以使用来确保它正在运行 systemctl
:
sudo systemctl status memcached
输出将类似于以下内容:
memcached.service - memcached daemon
Loaded: loaded (/lib/systemd/system/memcached.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2018-12-16 14:59:06 IST; 3 weeks 4 days ago
Main PID: 3927 (memcached)
Tasks: 6
Memory: 2.2M
CPU: 2min 10.089s
CGroup: /system.slice/memcached.service
└─3927 /usr/bin/memcached -m 64 -p 11211 -u memcache -l 127.0.0.1
配置Memcached
让我们将Memcached绑定到本地接口,以避免潜在的DDOS攻击。
打开 /etc/memcached.conf
文件在您最喜欢的编辑器中:
sudo vi /etc/memcached.conf
在文件中找到以下行,并确保未对其进行注释:
-l 127.0.0.1
如果此配置更开放,则可以限制 UDP
通过在文件末尾添加以下行:
-U 0
保存文件并退出。
重新启动Memcached以应用您的更改:
sudo systemctl restart memcached
您可以使用netstat验证Memcached仅绑定到本地接口,并且仅侦听TCP连接:
sudo netstat -plunt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
...
tcp 0 0 127.0.0.1:11211 0.0.0.0:* LISTEN 3927/memcached
...
还有一些其他选项可以在 /etc/memcached.conf
组态:
-m
:限制Memcached可用的内存量。
-p
:指定Memcached应该在哪个端口上监听。默认端口是 11211
。
-u
:指定服务将用于与哪个用户一起运行。默认情况下,该服务将以 root
。
-c
:限制并发连接数。默认是 1024
。
验证Memcached设置
现在,您可以使用 memcstat
来自的命令 libmemcached-tools
包:
memcstat --servers="localhost"
输出将类似于以下内容:
Server: localhost (11211)
pid: 3927
uptime: 2217682
time: 1547170226
version: 1.4.25
libevent: 2.0.21-stable
pointer_size: 64
rusage_user: 75.436000
rusage_system: 57.768000
curr_connections: 1
total_connections: 53082
...
结论
在本指南中,我们介绍了如何安装和配置Memcached以及如何使用 memcstat
获取统计信息。的 libmemcached-tools
软件包还附带了一些其他实用程序,可帮助与Memcached进行交互。
注:本教程在Vultr VPS上测试通过,如需部署请前往Vultr.com