进入 PHPChina 首页
当前位置:PHPChina 开源社区门户 - Apache技术专栏 - 正文
[字号:  ]

PHP-MemCache部署

发布时间:2008-11-14 16:43   作者: 网络转载   信息来源: http://blog.donews.com  [我来说两句(418条)]

Memcache是一个linux下面高速缓存的程序,可以大大提速动态程序的运行。

 

需要安装以下三个程序

Memcached memcached-1.2.4.tar.gz

Libevent    libevent-1.3e.tar.gz

Php-memcache memcache-2[1].2.3.tar.gz

 

一、memcached安装

首先是下载memcached了,目前最新版本是1.1.12,直接从官方网站即可下载到memcached-1.2.4.tar.gz。除此之外,memcached用到了libevent,我下载的是libevent-1.3e.tar.gz

接下来是分别将libevent-1.3e.tar.gzmemcached-1.2.4.tar.gz解开包、编译、安装:

# tar zxvf libevent-1.3e.tar.gz
# cd libevent-1.3e
# ./configure --prefix=/usr
# make
# make install
 
测试libevent是否安装成功
# ls -al /usr/lib | grep libevent
 
 
# tar zxvf memcached-1.2.4.tar.gz
# cd memcached-1.2.4
# ./configure --prefix=/usr
# make
# make install
 
测试memcached是否安装成功
# ls -al /usr/bin/mem*

 

 

 

安装完成之后,memcached应该在/usr/bin/memcached

运行memcached守护进程:

 

/usr/bin/memcached -d -m 128 -l localhost -p 11211 -u root –c 526 –P/tmp/memcached.pid

 

 -d以守护程序(daemon)方式运行memcached
 -m
设置memcached可以使用的内存大小,单位为M
 -l
设置监听的IP地址,如果是本机的话,通常可以不设置此参数;
 -p
设置监听的端口,默认为11211,所以也可以不设置此参数;
 -u
指定用户;

-c选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定,
 -P
是设置保存Memcachepid文件,我这里是保存在/tmp/memcached.pid

 

 

如果遇到运行memcached时遇到问题,错误提示如下:

 

 

/usr/bin/memcached/bin/memcached: error while loading shared libraries: libevent-1.3e.so.1: cannot open shared object file: No such file or directory   

 

便运行以下命令

# LD_DEBUG=libs /usr/bin/memcached –v

 

然后给libevent-1.3d.so.1建立一个链接:

# ln -s /usr/lib/libevent-1.3e.so.1 /lib64/libevent-1.3e.so.1

 

 

二、php-memcache安装

# tar zxvfmemcache-2[1].2.3.tar.gz

# /usr/bin/phpize

# ./configure --enable-memcache --with-zlib-dir

# make

# make install

php.ini里加入extension=memcache.so

 

 

/etc/rc.local每次启动的时候自动开启memcache

/usr/bin/memcached -d -u apache -m 1024 -c 8192 -l 192.168.20.120 -p 11211 –P /tmp/memcached.pid

/usr/bin/memcached -d -u apache -m 1024 -c 8192 -l 192.168.20.120 -p 11212

关掉memcached的进程

# kill ‘cat /tmp/memcached.pid’

 

 

<?php

$mem = new Memcache;

$mem->connect("127.0.0.1", 11211)or die ("Could not connect");

 

$mem->set('key', 'This is a test!', 0, 60);

$val = $mem->get('key');

echo $val;

?>

TAG: 部署

字号:   | 推荐给好友

[我来说两句(418条)]
现在有0人对本文发表评论 查看全部评论>>评论区

 

评分:0

验证码: seccode