CentOS 下源码编译安装 Memcached 与 PHP 扩展指南

清欢
清欢
发布时间:2026-10-15 | 2人浏览过
原创

本文介绍在 CentOS 环境中通过源码编译方式部署 Memcached 服务端及 PHP 扩展的完整流程。从 libevent 依赖处理、服务参数启动配置,到 php.ini 模块加载及连通性测试,提供可操作的技术参考。

准备条件与源码包获取

Memcached 基于 C 语言开发,运行依赖于 libevent 库以处理 Socket 连接。因此,编译安装前需确保系统中存在兼容版本的 libevent。若系统已通过包管理器安装了较新且兼容的 libevent,通常无需手动编译该依赖;否则,建议下载指定版本以确保兼容性。

以下是构建环境所需的基础安装包:

  • Memcached 主程序:建议使用稳定版本(如 v1.4.4),地址:http://memcached.googlecode.com/files/memcached-1.4.4.tar.gz
  • Libevent 依赖库:地址:http://www.monkey.org/~provos/libevent-1.4.13-stable.tar.gz
  • PHP Memcache 扩展:地址:http://pecl.php.net/get/memcache-2.2.5.tgz

可以使用 wget 命令将上述资源下载至服务器本地目录。

安装与配置步骤

第 1 步:编译安装 Libevent

目的:为 Memcached 提供底层的网络事件处理支持。此步骤仅在未安装合适版本 libevent 时需要执行。

  1. 解压源码包并进入目录:
tar zxvf libevent-1.4.13-stable.tar.gz
cd libevent-1.4.13-stable
  1. 执行配置、编译与安装,默认安装路径通常设为 /usr:
./configure --prefix=/usr
make
make install

第 2 步:验证 Libevent 安装

目的:确认动态链接库文件已正确写入系统目录。

使用以下命令检查 /usr/lib 目录下是否存在 libevent 相关文件:

ls -al /usr/lib | grep libevent

若返回包含版本号的文件列表(如 .so.2 或 .a 结尾),则表明安装成功。

第 3 步:编译安装 Memcached 主程序

目的:编译生成 Memcached 服务端二进制文件。

  1. 解压主程序包并进入目录:
tar zxvf memcached-1.4.4.tar.gz
cd memcached-1.4.4
  1. 配置编译参数。务必通过 --with-libevent 指定上一步安装的 libevent 位置:
./configure --with-libevent=/usr
make && make install

成功后,memcached 二进制文件通常会自动放置在 /usr/local/bin/memcached 路径下。

第 4 步:验证 Memcached 安装

目的:确认服务端二进制文件已就绪。

ls -al /usr/local/bin/mem*

输出应包含指向 memcached 的可执行文件链接。

第 5 步:安装 PHP Memcache 扩展

目的:使 PHP 脚本具备连接和操作 Memcached 的能力。

  1. 解压 PHP 扩展包:
tar vxzf memcache-2.2.5.tgz
cd memcache-2.2.5
  1. 使用当前服务器的 phpize 工具准备编译环境。注意替换为你实际的 phpize 路径:
/usr/local/webserver/php/bin/phpize
  1. 配置编译选项。需明确指定启用 memcache、php-config 路径以及 zlib 目录:
./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config --with-zlib-dir
  1. 编译并安装:
make
make install

安装完成后,终端会提示生成的 .so 共享扩展文件存放的具体绝对路径。

第 6 步:配置 PHP 识别扩展

目的:让 PHP 运行时加载 memcache.so 模块。

  1. 找到 php.ini 配置文件,修改 extension_dir 参数,将其指向第 5 步中输出的具体目录:
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-xxxx/"
  1. 在 php.ini 末尾添加一行以载入扩展:
extension=memcache.so

Memcached 服务设置与排错

启动服务端

推荐使用守护进程模式启动,以便在后台持续运行。基本命令格式如下:

memcached -d -m 10 -u root -l [IP] -p 11211 -c 256 -P /tmp/memcached.pid

参数说明:

  • -d:以守护进程方式运行。
  • -m:分配给缓存的内存大小(单位 MB)。
  • -u:运行服务的用户身份。
  • -l:绑定的监听 IP(生产环境建议使用内网 IP)。
  • -p:监听的端口号(默认为 11211)。
  • -c:最大并发连接数限制。
  • -P:保存进程 ID (PID) 的文件路径,用于后续管理进程。

进程管理与状态检查

停止服务:

kill $(cat /tmp/memcached.pid)

检查服务是否存活:

通过查看端口监听状态来确认:

netstat -ant | grep 11211

若看到 LISTEN 状态,表示服务正常启动。

环境测试

创建一个简单的 PHP 测试文件(如 test.php),验证客户端与服务端的连通性及数据读写功能:

<?php
$mem = new Memcache;
// 请根据实际 IP 修改
$mem->connect("localhost", 11211);
$mem->set('key', 'This is a test!', 0, 60);
$val = $mem->get('key');
echo $val;
?>

如果页面上输出了 "This is a test!",即表示 Memcached 环境和 PHP 扩展均已配置成功。

以上就是 CentOS 下配置 Memcached 与 PHP 扩展的详细内容,更多关于 Linux 缓存加速的资料请关注本站其它相关文章!

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表