插件窝 干货文章 linux下memcache如何安装配置

linux下memcache如何安装配置

Memcached 配置 安装 sudo 29    来源:    2025-04-23

Linux下Memcached安装与配置指南

安装Memcached

在基于Debian/Ubuntu的系统上

# 更新软件包列表
sudo apt update

# 安装Memcached服务端
sudo apt install memcached

# 安装PHP的Memcached扩展(如果需要PHP支持)
sudo apt install php-memcached

# 安装libmemcached工具(可选)
sudo apt install libmemcached-tools

在基于RHEL/CentOS的系统上

# 安装EPEL仓库(CentOS/RHEL 7及以下)
sudo yum install epel-release

# 安装Memcached
sudo yum install memcached

# 安装PHP的Memcached扩展(如果需要PHP支持)
sudo yum install php-pecl-memcached

# 对于CentOS 8/RHEL 8
sudo dnf install memcached

基本配置

Memcached的主要配置文件通常位于: - Debian/Ubuntu: /etc/memcached.conf - RHEL/CentOS: /etc/sysconfig/memcached

常用配置选项

  1. 内存限制

    -m 64  # 分配64MB内存给Memcached
    
  2. 监听IP

    -l 127.0.0.1  # 只监听本地回环
    -l 0.0.0.0    # 监听所有网络接口
    
  3. 端口设置

    -p 11211  # 默认端口
    
  4. 连接数限制

    -c 1024  # 最大连接数
    
  5. 日志级别

    -vv  # 详细日志(调试用)
    

示例配置

# 分配256MB内存
-m 256

# 监听所有网络接口
-l 0.0.0.0

# 使用默认端口
-p 11211

# 最大连接数2048
-c 2048

# 运行用户
-u memcache

# 禁用UDP协议(可选)
-U 0

启动与管理服务

启动服务

# 启动服务
sudo systemctl start memcached

# 设置开机启动
sudo systemctl enable memcached

# 检查状态
sudo systemctl status memcached

重启服务

sudo systemctl restart memcached

停止服务

sudo systemctl stop memcached

测试Memcached

使用telnet测试

telnet localhost 11211

连接后可以输入以下命令测试:

stats  # 查看统计信息
set test 0 0 5  # 设置一个键
hello
get test  # 获取键值
quit  # 退出

使用nc (netcat)测试

echo "stats" | nc localhost 11211

PHP客户端配置

如果使用PHP连接Memcached,确保php.ini中有以下配置:

extension=memcached.so

然后在PHP代码中使用:

$memcached = new Memcached();
$memcached->addServer('localhost', 11211);
$memcached->set('key', 'value', 3600);  // 存储1小时
echo $memcached->get('key');

安全建议

  1. 防火墙配置:只允许可信IP访问11211端口
  2. 禁用UDP:如果不需要UDP协议,在配置中添加 -U 0
  3. SASL认证:对于生产环境,考虑配置SASL认证
  4. 限制内存:根据实际需求合理配置内存大小
  5. 监控:设置监控以跟踪内存使用情况和命中率

常见问题解决

  1. 无法连接

    • 检查防火墙设置
    • 确认memcached服务正在运行
    • 检查配置中的监听IP是否正确
  2. 内存不足

    • 增加 -m 参数的值
    • 检查是否有内存泄漏
  3. 性能问题

    • 增加 -c 参数的值提高最大连接数
    • 考虑使用多个memcached实例
  4. PHP无法连接

    • 确认php-memcached扩展已安装
    • 检查PHP错误日志

希望这个指南能帮助您在Linux系统上成功安装和配置Memcached!