memcached是一个高性能、开源的分布式内存对象缓存系统,它通常用于通过存储来自数据库调用和应用程序请求结果的频繁请求数据来加速动态 Web 应用程序。Memcached 是一种出色的解决方案,可以减少数据库负载并充当无法从数据库提供的请求的占位符。它提供了不同的方式来存储数据,例如键值对或排序集。Memcached 的加速效果还是挺明显的,目前搬瓦工中文网这个网站暂时没有使用,不过在其他网站已经使用了,效果明显。
宝塔面板可以直接安装 Memcached,安装起来非常简单方便快捷,不过我们也可以选择手动进行安装,从源码进行编译并安装,可能会有一种成就感。
安装之前,我们需要有一台 Ubuntu 20.04系统的搬瓦工vps(直达购买),并且最好创建一个具有 sudo 权限的非 root 用户,并且更新系统。
下面正式开始 Memcached 安装教程。
一、安装依赖项
你需要安装一些工具来编译 Memcached 源码包。
$ sudo apt-get install gcc make libevent-dev libc6-dev –no-install-recommends
选项 –no-install-recommends 仅用于安装提到的包。
其他包说明如下:
gcc 是 Memcached 源文件的著名 C 编译器。
make 用于指导编译
libc6-dev 用于参考 GNU C 库和头文件
libevent-dev 是著名的异步事件通知开发文件
安装所有 Memcached 依赖项以下载 Memcached 源包并将其安装到系统中。
二、下载并编译 Memcached
下载最新的 Memcached 文件:
$ wget https://memcached.org/latest
解压安装包:
$ tar -xvf latest
将工作目录更改为提取的文件。如果您下载了较新的版本,目录名称可能会有所不同。
$ cd Memcached-1.6.12/
使用 –prefix= 参数设置安装 Memcached 二进制文件和库的目录。比如下面的示例使用 /usr/local 目录。
$ ./configure –prefix=/usr/local/memcached
编译 Memcached 源码:
$ make
确认 Memcached 版本号:
$ ./memcached –version
安装 Memcached:
$ sudo make install
测试 Memcached 是否处于活动状态并在 TCP 端口 11211 上运行。
$ netstat -tulpn | grep :11211
三、Memcached 服务管理教程
安装成功 Memcached 后,就可以使用 systemctl 这个命令管理 Memcached 服务了。
启动 Memcached 服务:
sudo systemctl start memcached
检查 Memcached 的状态:
sudo systemctl status memcached
要停止 Memcached:
sudo systemctl stop memcached
四、Memcached 安全设置教程
默认情况下,Memcached 在具有 TCP 端口的本地接口上运行。要限制潜在的攻击,请通过防火墙阻止 Memcached 端口 11211 上的传入 UDP 连接。
$ sudo ufw deny 11211/udp
五、配置 Memcached
您还可以通过配置文件将 Memcached 限制在本地接口,使用您喜欢的编辑器打开 Memcached 配置文件。
sudo vi /etc/memcached.conf
在文件中找到以下行,如果有注释,请取消注释。
-l 127.0.0.1
如果您还想限制 UDP,请在文件末尾添加以下行。
-U 0
保存文件并重启服务:
sudo systemctl restart memcached
使用 netstat 验证 Memcached 是否绑定到本地接口并且只监听 TCP 连接。
sudo netstat -plunt
六、验证 Memcached 设置
您可以使用 libmemcached-tools 包中的 memcstat 验证 Memcached 设置。
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 示例
PHP
如果您想将 Memcached 用作您的 PHP 应用程序(例如 WordPress、Magento、Joomla 或 Drupal)的缓存数据库,您应该使用 Memcached 扩展,您可以安装它:
sudo apt install php-memcached
Python
pip install pymemcache
pip install python-memcached
至此,就可以顺利安装并使用 Memcached 给网站加速了。