在 LNMP(Linux、Nginx、MySQL、PHP)这一经典技术栈中,想要顺利启用 Memcached 缓存,实际操作步骤其实比想象中更简单。下面我们就一步步拆解每个环节,助你轻松完成 LNMP 环境下的 Memcached 配置。

1. 安装 Memcached 服务
首先,将 Memcached 部署到服务器上。通过包管理器即可完成安装,不同 Linux 发行版的命令略有差异。
在 Ubuntu/Debian 系统上:
sudo apt-get update
sudo apt-get install memcached
在 CentOS/RHEL 系统上:
sudo yum install epel-release
sudo yum install memcached
2. 启动服务并设置开机自启
安装完成后,记得先启动 Memcached 服务,并确保服务器重启后该服务能自动运行。
在 Ubuntu/Debian 系统上:
sudo systemctl start memcached
sudo systemctl enable memcached
在 CentOS/RHEL 系统上:
sudo systemctl start memcached
sudo systemctl enable memcached
3. 调整 Memcached 配置参数
Memcached 的默认配置文件位于 /etc/memcached.conf,你可以根据实际业务需求手动修改。
常见配置项说明:
-m:分配给 Memcached 的内存大小,例如-m 64表示 64MB。-p:监听端口,默认值为 11211。-c:最大并发连接数。-l:绑定的 IP 地址,默认监听所有网络接口。
举例来说,如果你希望 Memcached 监听 11211 端口并分配 64MB 内存,可以这样配置:
-m 64
-p 11211
修改配置文件后,需要重启服务使改动生效:
sudo systemctl restart memcached
4. 让 PHP 能够调用 Memcached
PHP 需要借助专门的扩展才能与 Memcached 通信,这个扩展就是 php-memcached。不同系统的安装命令也有所不同。
在 Ubuntu/Debian 系统上:
sudo apt-get install php-memcached
在 CentOS/RHEL 系统上:
sudo yum install php-pecl-memcached
安装扩展之后,别忘了重启 PHP-FPM(如果使用 Apache 则重启 Apache 服务)。
在 Ubuntu/Debian 系统上(使用 PHP-FPM):
sudo systemctl restart php7.4-fpm
在 CentOS/RHEL 系统上(使用 PHP-FPM):
sudo systemctl restart php-fpm
5. 验证 Memcached 是否正常运行
最直接的测试方法是使用 telnet 或 nc 连接 Memcached 端口。
telnet localhost 11211
如果看到类似下面的输出,说明服务已经成功启动:
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
接着可以尝试存储一条数据来验证功能是否正常:
set test 0 60 5
hello
如果返回 STORED,则表示一切正常——Memcached 已经可以正常使用了。
6. 在 PHP 代码中实际调用 Memcached
最后,通过一段简单的 PHP 示例代码,展示如何在项目中连接并操作 Memcached:
addServer('localhost', 11211);
$key = 'test_key';
$value = 'Hello, Memcached!';
// 存储数据,有效期 60 秒
$memcached->set($key, $value, 60);
// 读取数据
$cachedValue = $memcached->get($key);
echo $cachedValue; // 输出: Hello, Memcached!
?>
按照上述步骤操作,LNMP 环境下的 Memcached 配置基本就完成了。接下来只需根据实际业务场景调整内存大小和连接参数,就能让缓存发挥最大价值。
