前言

  在搭建个人博客时,由于没有使用任何框架,纯手工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

  希望以上对大家有帮助

linux(centos 6.4)下安装php memcache服务端及其客户端(详细教程)的更多相关文章

  1. Linux(CentOS 6.5) 下安装MySql 5.7.18 二进制版本粗浅攻略

    鉴于Linux和mysql因不同版本,安装方式也不同,所以在阅读本攻略前,请确保各位同学的版本和我的Linux.MySql 版本一致. 如果不一致,只能参考. 我的版本: Linux CentOS 6 ...

  2. CentOS6.5下安装远程桌面服务端软件VNC Server

    VNC 使您能够远程訪问和控制您的计算机从还有一计算机或移动设备上,不管你在世界的不论什么地方. 常见的使用情形,包含给同事和朋友提供桌面支持.远程管理您的服务器. 将 VNC Server部署到您想 ...

  3. 【htop】Linux CentOS 6.5下安装htop进程管理工具

    一.Htop的使用简介 This is htop, an interactive process viewer for Linux. It is a text-mode application (fo ...

  4. linux centos 6.5下安装nodejs

    1.将文件下载或拷贝至/usr/local/src目录下,可使用xshell工具上传文件 2.解压缩文件: tar xvf /usr/local/src/node-v6.9.2-linux-x64 3 ...

  5. MySql通用二进制版本在Linux(Ubuntu)下安装与开启服务

    安装mysql前可能需要其他软件的依赖,请先执行下面命令安装mysql的依赖软件 shell> apt-cache search libaio # search for info shell&g ...

  6. memcache服务端与客户端的安装部署

    1)安装memcached前需要先安装libevent [root@aliyun tools]# tar -zxf libevent-1.4.13-stable.tar.gz [root@aliyun ...

  7. 详解----memcache服务端与客户端

    Memcache是danga.com的一个项目,用这个缓存项目来构建自己大负载的网站,来分担数据库的压力. 它可以应对任意多个连接,使用非阻塞的网络IO.由于它的工作机制是在内存中开辟一块空间,然后建 ...

  8. IE8下服务端获取客户端文件的路径为C:/fakePath问题的解决方案

    上一篇文章上提到,IE8下服务端获取客户端文件的路径时,会变成C:/fakePath问题,于是乎通过文件路径去获得文件大小就失败了. 上网搜了一下,主要原因是IE8因为安全考虑,在上传文件时屏蔽了真实 ...

  9. linux下通过phpize为php在不重新编译php情况下安装模块memcache

    通过phpize为php在不重新编译php情况下安装模块memcache 1. 下载    wget http://pecl.php.net/get/memcache-2.2.4.tgz     解压 ...

随机推荐

  1. iOS支付宝集成时遇到的问题整理(2)

    1.集成支付宝SDK编译报错#include<openssl/asn1.h>这一行  “openssl/asn1.h”file not found 解决方法:在BuildSetting 里 ...

  2. Cent OS服务器配置(JDK+Tomcat+MySQL)

    本文摘自:Cent OS服务器配置(JDK+Tomcat+MySQL) 学习tar解压 解压 tar 文件 tar -zxvf apache-tomcat-6.0.35.tar.gz tomcat   ...

  3. oracle中replace、length、lengthb、substr、substrb函数

    1.replacereplace(x,y,z)返回值为将字符串X中的Y串用Z串替换后的结果字符串. replace(x,y)返回值将字符串X中为Y串的地方删除例:epacel('aaabbb','bb ...

  4. PHP正则中的捕获组与非捕获组

    今天遇到一个正则匹配的问题,忽然翻到有捕获组的概念,手册上也是一略而过,百度时无意翻到C#和Java中有对正则捕获组的特殊用法,搜索关键词有PHP时竟然没有相关内容,自己试了一下,发现在PHP中也是可 ...

  5. 【linux环境下】RabbitMq的安装和监控插件安装

    [注意安装过程中,提示某些命令not found,直接yum isntall一下就好了] 以下是我在CentOS release 6.4下亲测成功的. RabbitMq的安装:   RabbitMQ是 ...

  6. SQL Server服务器名称与默认实例名不一致的修复方法

    SQL Server服务器名称与默认实例名不一致的修复方法 分类: 个人累积 SQl SERVER 数据库复制2011-08-10 09:49 10157人阅读 评论(0) 收藏 举报 sql ser ...

  7. 烂泥:KVM利用LVM快照快速部署虚拟机

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 上一篇文章介绍了有关KVM利用LVM快照备份和恢复虚拟机的功能,这篇文章我们来介绍,如何利用LVM快照功能为KVM快速部署虚拟机. 部署虚拟机需要以下几 ...

  8. C#与MATLAB混合编程

    C#和MatLab的混合编程,充分利用了winform的直观显示和matlab的强大计算能力.在此以一个小例子的形式给大家讲述一下二者混合编程的实现. 一.软件的配置说明 C#版本:VS2010 ma ...

  9. web.xml文件报错:The processing instruction target matching "[xX][mM][lL]" is not allowed.

    昨晚把我的项目上传到了gitlab,然后今天在公司从gitlab下载下来, 发现web.xml报错.

  10. malloc calloc 和 realloc

    realloc()函数 原型:extern void *realloc(void *mem_address, unsigned int newsize); 语法:指针名=(数据类型*)realloc( ...