CentOS安装memcached服务

本文详细介绍了如何在服务器上安装并配置Memcache扩展,包括libevent、memcached服务器及PHP客户端的安装步骤,并提供了启动参数说明及测试示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

memcache扩展是b/s模式运行 也就是说需要服务器端和客户端两个才能正常运行,服务器端 memcached,客户端 memcache,memcached是基于libevent的,libevent是个程序库,它将Linux的epoll、BSD类操作系统的kqueue等事件处理功能封装成统一的接口。即使对服务器的连接数增加,也能发挥O(1)的性能。 memcached使用这个libevent库,因此能在Linux、BSD、Solaris等操作系统上发挥其高性能。

由于memcached是基于libevent的,因此需要安装libevent


1.下载libevent


下载地址:http://libevent.org/ 

wget https://github.com/libevent/libevent/releases/download/release-2.0.22-stable/libevent-2.0.22-stable.tar.gz  #下载

cd /tmp #首先进入到该下载包的目录

tar zxvf libevent-2.0.22-stable.tar.gz #解压包 

cd libevent-2.0.22-stable #进入到解压的目录 

./configure --prefix=/usr/local #编译前配置,生成Makefile文件,路径可自行更改 

make && make install #编译+安装

测试是否安装成功
ls -la /usr/local/lib | grep libevent
成功就会有相关文件

2. 安装memcached

下载地址: http://memcached.org/
cd  /tmp  #首先进入到该下载包的目录  
tar zxvf memcached- 1.4 . 24 .tar.gz  #解压包  
cd  memcached- 1.4 . 24   #进入到解压的目录  
./configure --with-libevent=/usr/local  #编译前配置,生成Makefile文件,路径必须与libevent中一致
make && make install  #编译+安装

测试是否安装成功
ls -la /usr/local/bin/memcached

3. 安装memcache

cd  /tmp  #首先进入到该下载包的目录  
tar zxvf memcache- 3.0 . 8 .tgz  #解压包  
cd  memcache- 3.0 . 8   #进入到解压的目录  
/usr/local/lnmp/php/bin/phpize  #动态为php添加扩展。phpize路径可能不一致,一般在php安装目录的bin目录下  
./configure --enable-memcache --with-php-config=/usr/local/lnmp/php/bin/php-config --with-zlib-dir  #php-config请根据自己环境情况填写, 一般在php安装目录的bin目录下
make && make install  #编译+安装

安装完成后有这样的提示:
Installing shared extensions:      /usr/local/lnmp/ php/lib/php/extensions/no-debug-non-zts-20100525/
记下路径

4.配置php.ini文件

添加以下内容
extension=memcache.so 
extension_dir="   /usr/local/lnmp/ php/lib/php/extensions/no-debug-non-zts-20100525/"    #修改extension_dir路径

然后重启nginx和php-fpm服务看到以下截图内容表示配置成功:


启动memcached
memcached -d -m 10 -u root -l 127.0.0.1 -p 11211 -c 256 -P /tmp/memcached.pid

Memcached启动参数说明:

-d  选项是启动一个守护进程,
-m  是分配给Memcache使用的内存数量,单位是MB,默认64MB
-M  return error on memory exhausted (rather than removing items)
-u  是运行Memcache的用户,如果当前为root 的话,需要使用此参数指定用户。
-l  是监听的服务器IP地址,默认为所有网卡。
-p  是设置Memcache的TCP监听的端口,最好是1024以上的端口
-c  选项是最大运行的并发连接数,默认是1024
-P  是设置保存Memcache的pid文件
-f  <factor>  chunk size growth factor (default: 1.25)
-I  Override the size of each slab page. Adjusts max item size(1.4.2版本新增)
也可以启动多个守护进程,但是端口不能重复

 
-p 指定端口号(默认11211)  
-m 指定最大使用内存大小(默认64MB)  
-t 线程数(默认4)  
  
-l 连接的IP地址, 默认是本机  
-d start 启动memcached服务  
-d restart 重起memcached服务  
-d stop|shutdown 关闭正在运行的memcached服务  
-m 最大内存使用,单位MB。默认64MB  
-M 内存耗尽时返回错误,而不是删除项  
-c 最大同时连接数,默认是1024  
-f 块大小增长因子,默认是1.25  
-n 最小分配空间,key+value+flags默认是48



停止memcached
kill cat /tmp/memcached.pid

查看memcached是否已经启动
netstat -ant

测试例子:
<?php
    $mem = new Memcache;
    $mem->connect("localhost", 11211);
    $mem->set('key','This is a test!', 0, 60);
    $val = $mem->get('key');
    echo $val;
?>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值