Linux下Memcache服务器端的安装
  一.下载memcached安装包
  wget http://www.danga.com/memcached/dist/memcached-1.2.2.tar.gz  
  安装memcache安装包
  tar xvzf memcached-1.2.2.tar.gz   解压缩
  cd memcached-1.2.2                进入目录
  ./configure -with-libevent=/usr   设置环境
  make                              编译
  make install                      安装
  ls -al /usr/local/bin/mem*  有以下这些现实,说明安装OK
  [root@bogon ~]# ls -al /usr/local/bin/mem*
  -rwxr-xr-x  1 root root 105602 Mar 13 23:03 /usr/local/bin/memcached
  -rwxr-xr-x  1 root root 112133 Mar 13 23:03 /usr/local/bin/memcached-debug
 
  二.下载libevent安装包
  wget http://www.monkey.org/~provos/libevent-1.3.tar.gz    
  安装libevent安装包
  tar xvzf libevent-1.3.tar.gz
  cd libevent-1.3
  ./configure -prefix=/usr
  make
  make install
  ls -al /usr/lib |grep libevent   这条用来确认  是否libevent安装成功,如果有下面提示,说明安装已经OK.
  ls -al /usr/lib |grep libevent
  lrwxrwxrwx    1 root root       21 Mar 13 23:00 libevent-1.3.so.1 -> libevent-1.3.so.1.0.3
  -rwxr-xr-x    1 root root   221674 Mar 13 23:00 libevent-1.3.so.1.0.3
  -rw-r--r--    1 root root   289192 Mar 13 23:00 libevent.a
  -rwxr-xr-x    1 root root      805 Mar 13 23:00 libevent.la
  lrwxrwxrwx    1 root root       21 Mar 13 23:00 libevent.so -> libevent-1.3.so.1.0.3
 
  三.下载memcached安装包
  wget http://pecl.php.net/get/memcache-2.2.6.tgz
  tar xzvf memcache-2.2.6.tgz   解压
  cd memcache-2.2.6        
  /usr/bin/phpize               执行phpize命令,如果该目录下没有该执行文件,请查找(find / -name 'phpize'),并找到相应位置
  ./configure -enable-memcache -with-php-config=/usr/bin/php-config -with-zlib-dir    设置环境  ,这里php-config执行文件也需要确认位置
  make                          编译
  make test                     编辑结果测试
  make install                  安装
 上述安装完后会有类似这样的提示:
  Installing shared extensions: /usr/lib/php/modules/
  把php.ini中的extension_dir = “./”修改为“/usr/lib/php/modules/”,并把前面;去掉
  添加一行来载入memcache扩展:extension=memcache.so

memcached的基本设置:
1.启动Memcache的服务器端:
# /usr/local/bin/memcached -d -u nobody -m 512 127.0.0.1 -p 11211
-d选项是启动一个守护进程,
-m是分配给Memcache使用的内存数量,单位是MB,我这里是512MB,
-u是运行Memcache的用户,我这里是nobody,
-l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址127.0.0.1,
-p是设置Memcache监听的端口,我这里设置了11211,最好是1024以上的端口,
-c选项是最大运行的并发连接数,默认是1024,按照你服务器的负载量来设定,  我这里没有设置
-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid,      我这里没有设置

可以通过ps -ef|grep memcached
[root@bogon ~]# ps -ef |grep memcached
nobody    3152     1  0 07:07 ?        00:00:00 /usr/local/bin/memcached -d -u nobody -m 512 127.0.0.1 -p 11211   有这一条说明服务启动了
root      3325  3093  0 07:45 pts/1    00:00:00 grep memcached

重新启动apache服务,
service httpd restart
下面就是测试memcached的实用性:
< ?php
$mem = new Memcache;
$mem->connect("127.0.0.1",11211);
$mem->set('key', 'This is a test!', 0, 60);
$val = $mem->get('key');
echo $val;
?>

 

 

错误1:
我在apache里面测试没有问题,但是nginx里面都没有反应,nainx里面是通过php-cgi来支持php语言的
解决:
    原因是php-cgi设置有问题,现在已经解决。

错误2:
Warning: Memcache::connect(): Can't connect to 127.0.0.1:11211, Connection refused (111) in /var/www/html/testmemcache.php on line 3 Warning: Memcache::set(): No servers added to memcache connection in /var/www/html/testmemcache.php on line 4 Warning: Memcache::get(): No servers added to memcache connection in /var/www/html/testmemcache.php on line 5
解决:
    这个很简单,没有启动memcached服务,启动一下就可以/usr/local/bin/memcached -d -u nobody -m 512 127.0.0.1 -p 11211