全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 19954|回复: 42

[经验] Captain原创:让你的网站飞起来,分享memcache和memcached安装过程

[复制链接]
发表于 2010-9-12 08:30:35 | 显示全部楼层 |阅读模式
 

先普及下知识

Memcache是什么?
Memcache是一个自由和开放源代码、高性能、分配的内存对象缓存系统。用于加速动态web应用程序,减轻数据库负载。 
它可以应对任意多个连接,使用非阻塞的网络IO。由于它的工作机制是在内存中开辟一块空间,然后建立一个HashTable,Memcached自管理这 些HashTable。

Memcached又是什么?
Memcached是Memcache系统的主程序文件,以守护程序方式运行于一个或多个服务器中,随时接受客 户端的连接操作,使用共享内存存取数据。

那PHP中的Memcache是什么?php中的所讲的memcache是用于连接Memecached的php支持扩展之一(可用phpinfo查看),类似mbstring,eAccelerator。


简单的说
Memcache是总的缓存系统项目名称,容易和PHP中的Memcache混淆
我们常提到Memcache其实是PHP中的Memcache,即PHP的Memcached扩展支持
我们常提到Memcached是服务端主程序文件,服务端安装程序

为了让你的程序飞起来,必须安装memcached服务端程序和PHP的Memcached扩展,所以如果您要使用Memcache来缓存系统,memcache和memcached两样我们都需要安装。



OK,OK,普及完了,马上开始安装

安装memcache
  1. # cd /usr/local/src
  2. # wget http://pecl.php.net/get/memcache-2.2.5.tgz
  3. # gzip -d memcache-2.2.5.tgz
  4. # tar xvf memcache-2.2.5.tar
  5. # cd memcache-2.2.5
复制代码
以下几句,是以php所在目录为/usr/local/php为例,如果您的php有变化,请自行替换几句中/usr/local/php的部分
  1. # /usr/local/php/bin/phpize
  2. # ./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config --with-zlib-dir
  3. # make && make install
复制代码
将memcache加入php扩展
# vi /etc/php.ini(/etc/php.ini地址为我的php.ini位置,如果你不知道你的php.ini在哪里,可以用# find / -name php.ini进行查找,或者传个探针phpinfo,找到Configuration File (php.ini) Path)中php.ini的位置
末尾加入
按键盘上的 i 开始编辑
CTRL+F翻页拉到最下面在[Zend]之前加入
  1. extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/"
  2. extension=memcache.so
复制代码
按Esc键,再输入
:wq
保存退出

重启你的web服务器,比如apache
  1. /etc/init.d/httpd restart
复制代码
下面刷新下PHP探针,看下是不是有这个了,有的话就是装好了
  1. memcache
  2. Version  2.2.5memcache
  3. Version  2.2.5
复制代码
 



下面安装memcached


装memcached首先需要安装安装libevent

如果是centos可以yum安装
  1. # yum install libevent-devel
复制代码
如果不支持yum的系统,可以这样装libevent
  1. # cd /usr/local/src
  2. # wget http://www.monkey.org/~provos/libevent-1.4.12-stable.tar.gz
  3. # tar vxf libevent-1.4.12-stable.tar.gz
  4. # cd libevent-1.4.12
  5. # ./configure --prefix=/usr/local/libevent
  6. # make && make install
复制代码
接续安装memcached
  1. # cd /usr/local/src
  2. # wget http://cloud.github.com/downloads/saberma/saberma.github.com/memcached-1.4.4.tar.gz
  3. # tar vxf memcached-1.4.4.tar.gz
  4. # cd memcached-1.4.4
  5. # ./configure --prefix=/usr/local/memcached
  6. # make && make install
复制代码
安装完后启动memcached并分配32m内存(32为使用内存数,可按自身情况修改)
  1. /usr/local/memcached/bin/memcached -d -m 32 -l 127.0.0.1 -p 11211 -u root
复制代码
将memcached加入启动项
  1. # vi /etc/rc.d/rc.local
复制代码
按键盘上的 i 开始编辑
在最后加入
  1. /usr/local/memcached/bin/memcached -d -m 32 -l 127.0.0.1 -p 11211 -u root
复制代码
按Esc键,再输入
:wq
保存退出

如果需要,可以reboot一下,不过不用reboot应该已经生效~



加速效果测试

用没有什么负载的Discuz X1做个测试,未启用时
  1. GMT+8, 2010-9-12 09:08, Processed in 0.038893 second(s), 2 queries.
复制代码
缓存启用后的效果,不过总体感觉VPS上效果不如用eAccelerato缓存加入效果那么明显
  1. GMT+8, 2010-9-12 09:08, Processed in 0.008383 second(s), 2 queries, Memcache On.
复制代码
大功告成,打完收工!~~

可能许多人已经装好了,不过论坛还没有详细教程,装好了顺手分享一下
hostloc论坛首发,转载请注明来自
www.hostloc.com

[ 本帖最后由 Captain 于 2010-9-13 03:34 编辑 ]

评分

参与人数 6威望 +87 收起 理由
vaman + 5
杯具 + 15 精品文章
tumour + 35 技术贴要加分
ehane + 7 不敢多装东西 ,但还是谢谢分享了 ...
sunday + 15 好帖子

查看全部评分

 楼主| 发表于 2010-9-12 08:38:34 | 显示全部楼层
占楼编辑
发表于 2010-9-12 08:51:47 | 显示全部楼层
这个不错,自己使用服务器并且程序支持的话,用它可以减轻MYSQL的负荷,速度也会提高。
可惜不适合出售虚拟主机的环境。
发表于 2010-9-12 08:52:32 | 显示全部楼层

以后要多出教程哦

补充..这个.要你的程序支持才能加速的哦

[ 本帖最后由 Cat 于 2010-9-12 11:17 编辑 ]
 楼主| 发表于 2010-9-12 08:58:53 | 显示全部楼层

回复 4# 的帖子

会继续的
和你一样,装了什么就顺手整理一下分享出来,这样大家才能共同进步
发表于 2010-9-12 09:10:29 | 显示全部楼层
php有memcache和memcached两个类库,memcache是基于memcached本身(deb系,apt-get安装memcached后还需要安装一个libmemcache-dev),memcached是基于libmemcached的,libmemcached是第三方实现的一个memcached api封装

一般情况下,如果相应的lib和include都在系统默认里,直接用pecl就能安装,不用走下载下来,phpize,make install这个流程

[ 本帖最后由 winsock 于 2010-9-12 09:11 编辑 ]
发表于 2010-9-12 09:22:03 | 显示全部楼层
原帖由 winsock 于 2010-9-12 09:10 发表
php有memcache和memcached两个类库,memcache是基于memcached本身(deb系,apt-get安装memcached后还需要安装一个libmemcache-dev),memcached是基于libmemcached的,libmemcached是第三方实现的一个memcached api封装

一 ...

同意
发表于 2010-9-12 09:33:26 | 显示全部楼层
发表于 2010-9-12 09:37:50 | 显示全部楼层
顶   好教程
发表于 2010-9-12 09:42:03 | 显示全部楼层
非非常常感谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-5-3 07:10 , Processed in 0.066329 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表