CentOS系统一键安装Memcached教程

文章目录

    • [✅ 一、准备工作:启用 EPEL 仓库](#✅ 一、准备工作:启用 EPEL 仓库)
      • [▶ CentOS 7](#▶ CentOS 7)
      • [▶ CentOS 8 / Stream / Rocky Linux 8 / AlmaLinux 8](#▶ CentOS 8 / Stream / Rocky Linux 8 / AlmaLinux 8)
      • [▶ CentOS 9 / Rocky Linux 9 / AlmaLinux 9](#▶ CentOS 9 / Rocky Linux 9 / AlmaLinux 9)
    • [✅ 二、安装 Memcached 服务端和客户端工具](#✅ 二、安装 Memcached 服务端和客户端工具)
    • [✅ 三、启动并设置开机自启](#✅ 三、启动并设置开机自启)
    • [✅ 四、配置 Memcached(可选但推荐)](#✅ 四、配置 Memcached(可选但推荐))
      • 常用参数说明:
      • [🔒 安全建议(生产环境必看):](#🔒 安全建议(生产环境必看):)
        • [✅ 正确做法:仅监听本地或内网 IP](#✅ 正确做法:仅监听本地或内网 IP)
    • [✅ 五、验证安装是否成功](#✅ 五、验证安装是否成功)
      • [方法 1:检查进程和端口](#方法 1:检查进程和端口)
      • [方法 2:使用 telnet 测试(需安装 telnet)](#方法 2:使用 telnet 测试(需安装 telnet))
      • [方法 3:使用 `memstat` 工具(来自 libmemcached)](#方法 3:使用 memstat 工具(来自 libmemcached))
    • [✅ 六、常用操作命令](#✅ 六、常用操作命令)
    • [✅ 七、开发语言客户端示例(快速测试)](#✅ 七、开发语言客户端示例(快速测试))
      • [Python(需安装 python-memcached)](#Python(需安装 python-memcached))
      • [PHP(需安装 php-pecl-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

bash 复制代码
sudo yum install -y epel-release

▶ CentOS 8 / Stream / Rocky Linux 8 / AlmaLinux 8

bash 复制代码
sudo dnf install -y epel-release

▶ CentOS 9 / Rocky Linux 9 / AlmaLinux 9

bash 复制代码
sudo dnf install -y epel-release

✅ 验证是否启用成功:

bash 复制代码
yum repolist enabled | grep epel    # CentOS 7
dnf repolist enabled | grep epel   # CentOS 8/9

✅ 二、安装 Memcached 服务端和客户端工具

bash 复制代码
# CentOS 7
sudo yum install -y memcached libmemcached

# CentOS 8/9 及衍生版
sudo dnf install -y memcached libmemcached

说明:

  • memcached:服务端程序
  • libmemcached:包含命令行工具(如 memstat, memcp 等)和 C 客户端库

💡 如果你只需要服务端,可只装 memcached;若需调试工具,建议一起安装。


✅ 三、启动并设置开机自启

bash 复制代码
# 启动服务
sudo systemctl start memcached

# 设置开机自启
sudo systemctl enable memcached

# 查看状态
sudo systemctl status memcached

正常应显示 active (running)


✅ 四、配置 Memcached(可选但推荐)

默认配置文件路径:/etc/sysconfig/memcached

编辑配置:

bash 复制代码
sudo vi /etc/sysconfig/memcached

默认内容类似:

ini 复制代码
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

ini 复制代码
OPTIONS="-l 127.0.0.1,::1"          # 仅允许本机访问(最安全)
# 或
OPTIONS="-l 192.168.1.100"          # 仅监听内网某 IP

⚠️ 切勿暴露 11211 端口到公网!

保存后重启服务:

bash 复制代码
sudo systemctl restart memcached

✅ 五、验证安装是否成功

方法 1:检查进程和端口

bash 复制代码
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)

bash 复制代码
# 安装 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)

bash 复制代码
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)

python 复制代码
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 复制代码
<?php
$mc = new Memcached();
$mc->addServer("127.0.0.1", 11211);
$mc->set("test", "OK");
echo $mc->get("test"); // 输出: OK
?>

🛡️ 安全加固总结(重要!)

  1. 禁止公网访问 :通过 -l 127.0.0.1 限制监听地址

  2. 防火墙限制 (如必须内网访问):

    bash 复制代码
    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
  3. 不要存储敏感数据:Memcached 无加密、无认证

  4. 定期监控内存和命中率:避免缓存雪崩/穿透


📌 总结

步骤 命令
1. 启用 EPEL sudo yum/dnf install epel-release
2. 安装 Memcached sudo yum/dnf install memcached libmemcached
3. 配置安全监听 修改 /etc/sysconfig/memcachedOPTIONS="-l 127.0.0.1"
4. 启动服务 sudo systemctl enable --now memcached
5. 验证 telnet 127.0.0.1 11211 + stats

✅ 按照以上步骤,你可以在 CentOS 系统上安全、高效地部署 Memcached 缓存服务。

相关推荐
不惑_2 小时前
[特殊字符] 在 Linux 上设置 SQLite
linux·jvm·sqlite
淮北4943 小时前
如何在ubuntu调用exe文件
linux·运维·ubuntu
HalvmånEver3 小时前
Linux:基础开发工具(一)
linux·运维·服务器·开发语言·学习·进阶学习
HIT_Weston8 小时前
26、【Ubuntu】【远程开发】内网穿透:密钥算法介绍(二)
linux·运维·ubuntu
zl_dfq10 小时前
Linux第一个小程序 之 【进度条】
linux
wdfk_prog10 小时前
[Linux]学习笔记系列 -- [kernel]kthread
linux·笔记·学习
大地的一角10 小时前
(Linux)ELF格式与库的链接原理
linux·运维·服务器
z2023050810 小时前
Linux之中断子系统-内核中断注册源码分析(4)
linux·运维·服务器
深思慎考10 小时前
微服务即时通讯系统(服务端)——用户子服务实现逻辑全解析(4)
linux·c++·微服务·云原生·架构·通讯系统·大学生项目