Memcache初探(一) ---- CentOS下安装memcached

来源:互联网 发布:在线视频cms 编辑:程序博客网 时间:2024/05/17 22:01

公司的网站可能会遇到访问瓶颈。如何解决这个问题,一直是压在项目组头上的乌云。

由于没有做过大网站的经验,所以在网上去收集了很多资料,于是有了对memcached的了解以及应用。

 

一、编译环境的准备

---------------------------------------------------------------------------------------------------------

  yum install gcc
  yum install gcc-c++ libstdc++-devel
  yum install zlib-devel

---------------------------------------------------------------------------------------------------------

二、源码包准备
服务器端主要是安装memcache服务器端,目前的最新版本是 memcached-v1.4.13 。
wget http://memcached.googlecode.com/files/memcached-1.4.13.tar.gz

另外,Memcache用到了libevent这个库用于Socket的处理,所以还需要安装libevent
wget https://github.com/downloads/libevent/libevent/libevent-2.0.17-stable.tar.gz --no-check-certificate

准备Memcached的PHP扩展的源码安装包:
wget http://pecl.php.net/get/memcache-3.0.6.tgz

 

三、安装与配置

1、编译安装libevent
./configure --prefix=/usr
make & make install

测试libevent是否安装成功:
ls -al /usr/lib | grep libevent

2、安装memcached,同时需要安装中指定libevent的安装位置
./configure --with-libevent=/usr
make & make install

测试是否成功安装memcached:
 ls -al /usr/local/bin/mem*

 

3、开启Memcached守护进程
---------------------------------------------------------------------------------------------------------

    memcached -d -u root

---------------------------------------------------------------------------------------------------------

#连接参数

-p 监听端口

-l 连接的IP地址,默认是本机

-d start启动memecache服务

-d restart重启

-d stop|shutdown关闭服务

-d install 安装

-d uninstall 卸载

-u 以身份运行仅在root下有效

-m 最大内存使用,单位MB,默认64MB,最大2G

-M 内存耗尽时返回错误

-c 最大同时连接数量,默认是1024

-f 块大小增长因为,默认是1.25

-n 最小分配空间,key+value+flags默认48

-h 显示帮助

 

 4、使用telnet连接测试安装是否成功

---------------------------------------------------------------------------------------------------------
    telnet localhost 11211

#直接按回车会出现客户端错误.
    quit #退出

---------------------------------------------------------------------------------------------------------

 

四、php扩展的安装

1、编译安装libmemcached
---------------------------------------------------------------------------------------------------------

    ./configure --prefix=/usr/local/libmemcached

    make  &&  make  install

---------------------------------------------------------------------------------------------------------

2、找到phpize目录

---------------------------------------------------------------------------------------------------------
find / -name phpize

---------------------------------------------------------------------------------------------------------
根据返回值填写,在CentOS下一般是 /usr/bin/phpize。

3、安装php-memcache

---------------------------------------------------------------------------------------------------------

 /usr/bin/phpize

./configure --enable-memcache --with-php-config=/usr/bin/php-config --prefix=/usr/local/memcached --with-zlib-dir

#./configure  --with-php-config=/usr/bin/php-config    --prefix=/usr/local/memcached   --with-libmemcached-dir=/usr/local/libmemcached 

make  &&  make  install

---------------------------------------------------------------------------------------------------------
安装完成后会提示:
Installing shared extensions:     /usr/lib/php/modules/

4、修改PHP的配置

把php.ini中的extension_dir = “./”修改为

---------------------------------------------------------------------------------------------------------
    extension_dir = “/usr/lib/php/extensions/no-debug-non-zts-2007xxxx/”

    extension=memcached.so

---------------------------------------------------------------------------------------------------------

 

5、一些说明

安装中可能存在这样的警告信息:

---------------------------------------------------------------------------------------------------------
    ##configure: WARNING: You will need re2c 0.13.4 or later if you want to regenerate PHP parsers.
    wget http://sourceforge.net/projects/re2c/files/re2c/0.13.5/re2c-0.13.5.tar.gz/download
    tar -zxvf re2c-0.13.5.tar.gz
    cd re2c-0.13.5
    ./configure && make && make install

---------------------------------------------------------------------------------------------------------