当前位置: 首页 > news >正文

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
?>

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

  1. 禁止公网访问:通过 -l 127.0.0.1 限制监听地址
  2. 防火墙限制(如必须内网访问):
    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. 启用 EPELsudo yum/dnf install epel-release
2. 安装 Memcachedsudo 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 缓存服务。

http://www.dtcms.com/a/601210.html

相关文章:

  • 构建本质安全:现代智能消防的物联网架构深度解析
  • 筑牢API安全防线
  • openssl自动升级(下载git相关)~~坑点
  • 用源代码做网站注册网站代码
  • 个人博客网站logo网络营销推广形式
  • 【计网】基于三层交换机的多 VLAN 局域网组建
  • Python键盘鼠标自动化库详解:从入门到精通
  • Prompt-R1:重新定义AI交互的「精准沟通」范式
  • 郑州国外网站建设克拉玛依市建设局网站
  • 国产化中间件东方通TongWeb环境安装部署(图文详解)
  • 防爆六维力传感器的本质安全,破解高危环境自动化难题
  • 达内网站开发做网站费用会计分录
  • 深圳营销型网站建设公司网络服务php网站开发打不开
  • GIT版本管理工具轻松入门 | TortoiseGit,Git 介绍软件安装配置,笔记01
  • Flutter中Column中使用ListView时溢出问题的解决方法
  • Linux 传输层协议
  • 攻防世界-Misc-适合作为桌面
  • STM32F103VET6开发板例程(一)-LED
  • 上海网站优化推广公司阿里云网站建设方案书
  • 基于Water Physics在Unreal Engine中实现水系统模拟与物体漂浮状态模拟
  • Qt-自定义按钮动画
  • llm course 5.6 学习笔记 同样的文本 模型输出的固定向量和计算出来的哈希值为什么携带的信息不同
  • 轻量化笔记推荐:Docker安装部署FlatNotes
  • 永康市住房建设局网站淮南网站建设
  • Facebook矩阵引流:从防封机制拆解
  • 新时代旅游职业教育系列教材编写研讨会成功举办
  • vue学习第一天
  • 各大编码编辑器的缓存目录迁移到D盘【未完待续】
  • 【XR开发系列】Unity第一印象:编辑器界面功能布局介绍(六大功能区域介绍)
  • 【轨物方案】轨物科技工业缝纫机物联网解决方案:以数智化重塑轻工制造价值链