zoukankan      html  css  js  c++  java
  • linux(centos 6.4)下安装php memcache服务端及其客户端(详细教程)

    前言

      在搭建个人博客时,由于没有使用任何框架,纯手工code前台和后台,导致遇到许多问题,其中一个问题就是mysql连接导致的页面相应速度异常低。在查询各种途径后,只能考虑使用memcache缓存。在参考了许多文章后,终于成功的在centos6.4下安装memcache。由于发现在安装过程中,许多文章在有些细节没有解释清楚,导致我一直卡在一个问题上面。为了帮助其他可能和我遇到了同样问题的娃们,我准备也把我的安装过程详细介绍下,而不是ctrl+c,ctrl+v。希望对大家有帮助。(部分参考www.52weis.com)

    一。Memcached安装

      首先说下,Memcache分为服务端和客户端。Memcached是服务端,安装在服务端的服务器上,而下面将要介绍的是客户端,安装在php环境下的服务器。

      1、memcached下载:

        http://memcached.org/downloads(官网下载地址),笔者下载的版本是memcached-1.4.21.tar.gz (2014-10-12) 

      2、libevent下载:

        由于libevent需要使用,故需要下载,如果有了就不要下载了。地址为:http://www.monkey.org/~provos/libevent/。 这个是memcached安装需要的依赖

      3、libevent安装:

        由于这两个安装都不是很复杂,就只罗列命令了(解压就不介绍了,应该都知道):

        进入libevent的安装目录,

        ./configure --prefix=/usr/local/libevent  (/usr/local/libevent 是安装路径)

        然后make, make install

      4、memcached安装:

        解压,进入目录,安装:

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

        然后make, make install

    二、安装php Memcache扩展

      1、下载memcache(客户端):

        地址为http://pecl.php.net/package/memcache,笔者下得版本是3.0.8

      2、安装:

        进入解压后的目录,笔者是/usr/local/memcache, php安装目录在/usr/local/php

        执行命令

        /usr/local/php/bin/phpize(在memcache目录下执行)

        然后执行

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

        make, make install。

        在安装成功后将显示如下信息,记录下来,等下需要用到,如下:

        /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/

        然后,

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

        extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/"

        然后

        添加一行来载入memcache扩展:extension=memcache.so

        注意,在/usr/local/memcache目录下,大家可能没有看到configure,所以会困惑如何执行./configure呢?其实configure是由php生成的,命名就是这个命令

        /usr/local/php/bin/phpize。这个很多教程都没有说清楚,笔者也是找了很多资料在明白configure是怎么来的。

    三、memcached的基本设置:

      1.启动Memcache的服务器端:
         /usr/local/bin/memcached -d -m 10 -u root -l 192.168.0.200 -p 11211  -c 256 -P /tmp/memcached.pid  

    这里解释下启动参数:

    -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版本新增)

    运行ps aux|grep memcached

    若有memcached相关进程则说明成功!

      

      2.如果要结束Memcache进程,执行:

        kill `cat /tmp/memcached.pid`

      3、重启apache:

      service httpd restart

      

      4、测试

        运行下面的文件,如果有结果输出就是搭建成功了
        < ?php
        $mem = new Memcache;
        $mem->connect("127.0.0.1", 11211);//11211上上面设置的监听端口
        $mem->set('key', 'it does work!');
        $val = $mem->get('key');
        echo $val;
        ?>

    三、结束语

      在安装各种软件时,由于环境的不同,导致各种安装失败是很正常的,笔者就曾经在安装一次php,换个机器装php,按照原来的方法就失败了,都是环境的问题。所以希望大家在遇到问题时,尽量多参考网上的资料,如果在找了很多资料后才解决问题,希望能把经验写下来,和大家一起分享,而不是纯粹的复制粘贴,避免其他人浪费过多时间在搜索答案上。这也是我写此教程的初衷,还是要多分享。(更多请见www.52weis.com)

    四、参考:

      Linux下得Memcache安装

      linux安装php与memcache过程记录

      centos下使php5.3.X支持memcache

      希望以上对大家有帮助

     

  • 相关阅读:
    jsp 特殊标签
    poj 1753 Flip Game 高斯消元 异或方程组 求最值
    zoj 3155 Street Lamp 高斯消元 异或方程组 求方案数
    poj1222 EXTENDED LIGHTS OUT 高斯消元解异或方程组 模板
    zoj 3930 Dice Notation 模拟
    zoj 3157 Weapon 线段树求逆序对数
    hdu 1242 Rescue BFS+优先队列
    hdu 3466 Proud Merchants 贪心+01背包
    zoj 3689 Digging 贪心+01背包
    hdu 2602 Bone Collector 01背包模板
  • 原文地址:https://www.cnblogs.com/junyuhuang/p/4195965.html
Copyright © 2011-2022 走看看