CentOS系统一键安装Memcached教程
文章目录
- ✅ 一、准备工作:启用 EPEL 仓库
- ▶ CentOS 7
- ▶ CentOS 8 / Stream / Rocky Linux 8 / AlmaLinux 8
- ▶ CentOS 9 / Rocky Linux 9 / AlmaLinux 9
- ✅ 二、安装 Memcached 服务端和客户端工具
- ✅ 三、启动并设置开机自启
- ✅ 四、配置 Memcached(可选但推荐)
- 常用参数说明:
- 🔒 安全建议(生产环境必看):
- ✅ 正确做法:仅监听本地或内网 IP
- ✅ 五、验证安装是否成功
- 方法 1:检查进程和端口
- 方法 2:使用 telnet 测试(需安装 telnet)
- 方法 3:使用 `memstat` 工具(来自 libmemcached)
- ✅ 六、常用操作命令
- ✅ 七、开发语言客户端示例(快速测试)
- Python(需安装 python-memcached)
- PHP(需安装 php-pecl-memcached)
- 🛡️ 安全加固总结(重要!)
- 📌 总结
在 CentOS 系统(包括 CentOS 7、8、9 或 Rocky/AlmaLinux)上安装 Memcached,推荐使用 官方 EPEL 仓库 + 系统包管理器 的方式,简单、稳定、自动处理依赖(如
libevent)。以下是详细步骤:
✅ 一、准备工作:启用 EPEL 仓库
Memcached 不在 CentOS 默认仓库中,需先启用 EPEL(Extra Packages for Enterprise Linux)。
▶ CentOS 7
sudo yum install -y epel-release
▶ CentOS 8 / Stream / Rocky Linux 8 / AlmaLinux 8
sudo dnf install -y epel-release
▶ CentOS 9 / Rocky Linux 9 / AlmaLinux 9
sudo dnf install -y epel-release
✅ 验证是否启用成功:
yum repolist enabled | grep epel # CentOS 7 dnf repolist enabled | grep epel # CentOS 8/9
✅ 二、安装 Memcached 服务端和客户端工具
# CentOS 7
sudo yum install -y memcached libmemcached# CentOS 8/9 及衍生版
sudo dnf install -y memcached libmemcached
说明:
memcached:服务端程序libmemcached:包含命令行工具(如memstat,memcp等)和 C 客户端库
💡 如果你只需要服务端,可只装
memcached;若需调试工具,建议一起安装。
✅ 三、启动并设置开机自启
# 启动服务
sudo systemctl start memcached# 设置开机自启
sudo systemctl enable memcached# 查看状态
sudo systemctl status memcached
正常应显示 active (running)。
✅ 四、配置 Memcached(可选但推荐)
默认配置文件路径:/etc/sysconfig/memcached
编辑配置:
sudo vi /etc/sysconfig/memcached
默认内容类似:
PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="64"
OPTIONS=""
常用参数说明:
| 参数 | 说明 | 建议值 |
|---|---|---|
CACHESIZE | 分配内存(MB) | 根据服务器调整,如 256 |
MAXCONN | 最大并发连接数 | 2048 或更高 |
OPTIONS | 额外启动参数 | 见下方 |
🔒 安全建议(生产环境必看):
默认 Memcached 监听所有 IP(0.0.0.0)且无认证,极易被攻击(如 DDoS 反射放大攻击)!
✅ 正确做法:仅监听本地或内网 IP
修改 /etc/sysconfig/memcached 中的 OPTIONS:
OPTIONS="-l 127.0.0.1,::1" # 仅允许本机访问(最安全)
# 或
OPTIONS="-l 192.168.1.100" # 仅监听内网某 IP
⚠️ 切勿暴露 11211 端口到公网!
保存后重启服务:
sudo systemctl restart memcached
✅ 五、验证安装是否成功
方法 1:检查进程和端口
ps aux | grep memcached
ss -tulnp | grep 11211
应看到:
tcp 0 0 127.0.0.1:11211 0.0.0.0:* LISTEN ... memcached
方法 2:使用 telnet 测试(需安装 telnet)
# 安装 telnet(如未安装)
sudo yum install -y telnet # CentOS 7
sudo dnf install -y telnet # CentOS 8/9# 连接测试
telnet 127.0.0.1 11211
输入以下命令:
stats
quit
如果返回类似:
STAT pid 1234
STAT uptime 100
STAT curr_connections 1
...
END
说明 Memcached 正常工作!
方法 3:使用 memstat 工具(来自 libmemcached)
memstat --servers=127.0.0.1
✅ 六、常用操作命令
| 操作 | 命令 |
|---|---|
| 启动 | sudo systemctl start memcached |
| 停止 | sudo systemctl stop memcached |
| 重启 | sudo systemctl restart memcached |
| 查看日志 | journalctl -u memcached -f |
| 查看配置 | cat /etc/sysconfig/memcached |
✅ 七、开发语言客户端示例(快速测试)
Python(需安装 python-memcached)
import memcache
mc = memcache.Client(['127.0.0.1:11211'])
mc.set("test_key", "Hello Memcached!")
print(mc.get("test_key")) # 输出: Hello Memcached!
PHP(需安装 php-pecl-memcached)
<?php
$mc = new Memcached();
$mc->addServer("127.0.0.1", 11211);
$mc->set("test", "OK");
echo $mc->get("test"); // 输出: OK
?>
🛡️ 安全加固总结(重要!)
- 禁止公网访问:通过
-l 127.0.0.1限制监听地址 - 防火墙限制(如必须内网访问):
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port port="11211" protocol="tcp" accept' sudo firewall-cmd --reload - 不要存储敏感数据:Memcached 无加密、无认证
- 定期监控内存和命中率:避免缓存雪崩/穿透
📌 总结
| 步骤 | 命令 |
|---|---|
| 1. 启用 EPEL | sudo yum/dnf install epel-release |
| 2. 安装 Memcached | sudo yum/dnf install memcached libmemcached |
| 3. 配置安全监听 | 修改 /etc/sysconfig/memcached → OPTIONS="-l 127.0.0.1" |
| 4. 启动服务 | sudo systemctl enable --now memcached |
| 5. 验证 | telnet 127.0.0.1 11211 + stats |
✅ 按照以上步骤,你可以在 CentOS 系统上安全、高效地部署 Memcached 缓存服务。
