• 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

      希望以上对大家有帮助

     

  • 相关阅读:
    第四章作业
    第二章上机实验报告
    对二分法的理解和结对编程情况
    Mysql与sql server的列的合并
    C#中如何去除窗体默认的关闭按钮
    C# 实现WinForm窗口最小化到系统托盘代码,并且判断左右鼠标的事件
    running total sql 2012+
    Poqwe Pivot error
    事务
    ssis 导EXCEL ERROR
  • 原文地址:https://www.cnblogs.com/junyuhuang/p/4195965.html
Copyright © 2020-2023  润新知