|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
小知识:Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。
Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。
服务器端主要是安装memcache服务器端,目前的最新版本是memcached-1.3.0。
下载:http://www.danga.com/memcached/dist/memcached-1.2.5.tar.gz
另外,Memcache用到了libevent这个库用于Socket的处理,所以还需要安装libevent,libevent的最新版本是libevent-1.3。
用wget指令直接下载这两个工具.下载回源文件后。
1.先安装libevent。这个工具在配置时需要指定一个安装路径,即./configure–prefix=/usr;然后make;然后makeinstall;
2.再安装memcached,只是需要在配置时需要指定libevent的安装路径即./configure–with-libevent=/usr;然后make;然后makeinstall;
这样就完成了Linux下Memcache服务器端的安装。详细的方法如下:
1.分别把memcached和libevent下载回来,放到/tmp目录下:
#cd/tmp
#wgethttp://www.monkey.org/~provos/libevent-1.3.tar.gz
#wgethttp://www.danga.com/memcached/dist/memcached-1.2.5.tar.gz
2.先安装libevent:
#tarzxvflibevent-1.3.tar.gz
#cdlibevent-1.3
#./configure-prefix=/usr
#make
#makeinstall
3.测试libevent是否安装成功:
#ls-al/usr/lib|greplibevent
lrwxrwxrwx1rootroot22Jan2401:38libevent-1.1a.so.1->libevent-1.1a.so.1.0.2
-rwxr-xr-x1rootroot31596Jan72007libevent-1.1a.so.1.0.2
lrwxrwxrwx1rootroot21Jan242013libevent-1.3.so.1->libevent-1.3.so.1.0.3
-rwxr-xr-x1rootroot260076Jan242013libevent-1.3.so.1.0.3
-rw-r--r--1rootroot331144Jan242013libevent.a
-rwxr-xr-x1rootroot805Jan242013libevent.la
lrwxrwxrwx1rootroot21Jan242013libevent.so->libevent-1.3.so.1.0.3
还不错,都安装上了。
4.安装memcached,同时需要安装中指定libevent的安装位置:
#cd/tmp
#tarzxvfmemcached-1.2.5.tar.gz
#cdmemcached-1.2.5
#./configure-with-libevent=/usr
#make
#makeinstall
如果中间出现报错,请仔细检查错误信息,按照错误信息来配置或者增加相应的库或者路径。
安装完成后会把memcached放到/usr/local/bin/memcached,
5.测试是否成功安装memcached:
#ls-al/usr/local/bin/mem*
-rwxr-xr-x1rootroot124281Jan242013/usr/local/bin/memcached
-rwxr-xr-x1rootroot132762Jan242013/usr/local/bin/memcached-debug
安装Memcache的PHP扩展
1.在http://pecl.php.net/package/memcache选择相应想要下载的memcache版本。
2.安装PHP的memcache扩展
tarvxzfmemcache-2.2.1.tgz
cdmemcache-2.2.1
/usr/bin/phpize
./configure-enable-memcache-with-php-config=/usr/bin/php-config-with-zlib-dir
make
makeinstall
3.上述安装完后会有类似这样的提示:
Installingsharedextensions:/usr/lib/php/modules/
4.把php.ini中的extension_dir=“./”修改为
extension_dir="/usr/lib/php/modules"
5.添加一行来载入memcache扩展:extension=memcache.so
memcached的基本设置:
1.启动Memcache的服务器端:
#/usr/local/bin/memcached-d-m10-uroot-l192.168.0.200-p11211-c256-P/tmp/memcached.pid
-d选项是启动一个守护进程,
-m是分配给Memcache使用的内存数量,单位是MB,我这里是10MB,
-u是运行Memcache的用户,我这里是root,
-l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址192.168.0.200,
-p是设置Memcache监听的端口,我这里设置了12000,最好是1024以上的端口,
-c选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定,
-P是设置保存Memcache的pid文件,我这里是保存在/tmp/memcached.pid,
2.如果要结束Memcache进程,执行:
#kill`cat/tmp/memcached.pid`
也可以启动多个守护进程,不过端口不能重复。
3.重启apache,servicehttpdrestart
Memcache环境测试:
运行下面的php文件,如果有输出Thisisatest!,就表示环境搭建成功。开始领略Memcache的魅力把!
<?php
$mem=newMemcache;
$mem->connect(”127.0.0.1″,11211);
$mem->set(’key’,‘Thisisatest!’,0,60);
$val=$mem->get(’key’);
echo$val;
?>
-第二种安装方法----------------------------
用yum来装
在CentOS5下为PHP安装memcache支持
--------------------------------------------------------------------------------
装了CentOS5之后,由于有了yum这个非常有用的包管理器,我们基本不用亲自手动一步步去configure,make,makeinstall了。
只要简单的运行yum命令就可以搞定,如果你还是需要自己手动编译,请参阅文末所附参考文档。
1、检查安装第三方软件仓库
标准的CentOS5软件仓库里面是没有memcache相应的包的,不信你自己运行
yumsearchmemcache
看看结果,是不是提示如下?
Loading“installonlyn”plugin
SettingupInstallProcess
Settinguprepositories
Readingrepositorymetadatainfromlocalfiles
Parsingpackageinstallarguments
Nothingtodo
所以,我们的第一步就是导入第三方软件仓库,这里推荐的是DagWieers库(现在叫RPMForge了),安装方法如下:
到安装库的网页http://dag.wieers.com/rpm/packages/rpmforge-release/,找到合适的软件包,事实上很简单,我们是centos5.0,由于是和红帽子企业版5.0同样的源编译出来的,那么要的就是rhel5.0的就可以,备选的就只有以下两个
rpmforge-release-0.3.6-1.el5.rf.i386.rpmFri09Mar200716kBRedHatEL5-i386
rpmforge-release-0.3.6-1.el5.rf.x86_64.rpmFri09Mar200716kBRedHatEL5-x86_64
我的是32位的系统,我就选择上面那个地址下载,如果是64位的,选下面那个,呵呵。
[root@localhostsrc]#wgethttp://dag.wieers.com/rpm/packages/r...l5.rf.i386.rpm
[root@localhostsrc]#rpm-ivhrpmforge-release-0.3.6-1.el5.rf.i386.rpm
后面没有其他提示,那差不多好了。我们就可以安装我们的memcache相关的模块了。
2、查找相关软件包
在查找的时候会自动更新我们的版本库索引的,这点从下面可以看出来。我们可以发现有两个包要装,一个是memcache,一个是php-pecl-memecache。还有个新发现,python版本的memcache客户端也有了,爽啊。
[root@localhostsrc]#yumsearchmemcache
Loading“installonlyn”plugin
Settinguprepositories
update100%|=========================|951B00:00
rpmforge100%|=========================|1.1kB00:00
base100%|=========================|1.1kB00:00
addons100%|=========================|951B00:00
extras100%|=========================|1.1kB00:00
Readingrepositorymetadatainfromlocalfiles
primary.xml.gz100%|=========================|1.1MB02:07
rpmforge:##################################################3907/3907
Added3907newpackages,deleted0oldin13.20seconds
primary.xml.gz100%|=========================|37kB00:00
extras:##################################################145/145
Added17newpackages,deleted0oldin0.16seconds
php-pecl-memcache.x86_642.0.4-1.el5.rfrpmforge
Matchedfrom:
php-pecl-memcache
PECLpackagetousethememcacheddistributedcachingsystem
Memcachedisacachingdaemondesignedespeciallyfordynamicwebapplications
todecreasedatabaseloadbystoringobjectsinmemory.Thisextensionallows
youtoworkwithmemcachedthroughhandyOOandproceduralinterfaces.
http://pecl.php.net/package/memcache
php-pecl-memcache.x86_642.1.2-1.el5.rfrpmforge
Matchedfrom:
php-pecl-memcache
PECLpackagetousethememcacheddistributedcachingsystem
Memcachedisacachingdaemondesignedespeciallyfordynamicwebapplications
todecreasedatabaseloadbystoringobjectsinmemory.Thisextensionallows
youtoworkwithmemcachedthroughhandyOOandproceduralinterfaces.
http://pecl.php.net/package/memcache
python-memcached.noarch1.31-1.el5.rfrpmforge
Matchedfrom:
python-memcached
Pythoninterfacetothememcachedmemorycachedaemon
Pythoninterfacetothememcachedmemorycachedaemon.
ftp://ftp.tummy.com/pub/python-memcached/
memcached.x86_641.1.13-4.el5.rfrpmforge
Matchedfrom:
memcached
memcachedisahigh-performance,distributedmemoryobjectcachingsystem,
genericinnature,butintendedforuseinspeedingupdynamicweb
applicationsbyalleviatingdatabaseload.
http://www.danga.com/memcached/
memcached.x86_641.2.1-3.el5.rfrpmforge
Matchedfrom:
memcached
memcachedisahigh-performance,distributedmemoryobjectcachingsystem,
genericinnature,butintendedforuseinspeedingupdynamicweb
applicationsbyalleviatingdatabaseload.
http://www.danga.com/memcached/
memcached.x86_641.1.13-5.el5.rfrpmforge
Matchedfrom:
memcached
memcachedisahigh-performance,distributedmemoryobjectcachingsystem,
genericinnature,butintendedforuseinspeedingupdynamicweb
applicationsbyalleviatingdatabaseload.
http://www.danga.com/memcached/
memcached.x86_641.2.1-4.el5.rfrpmforge
Matchedfrom:
memcached
memcachedisahigh-performance,distributedmemoryobjectcachingsystem,
genericinnature,butintendedforuseinspeedingupdynamicweb
applicationsbyalleviatingdatabaseload.
http://www.danga.com/memcached/
memcached.x86_641.2.2-1.el5.rfrpmforge
Matchedfrom:
memcached
memcachedisahigh-performance,distributedmemoryobjectcachingsystem,
genericinnature,butintendedforuseinspeedingupdynamicweb
applicationsbyalleviatingdatabaseload.
http://www.danga.com/memcached/
python-openid.noarch1.2.0-1.el5.rfrpmforge
Matchedfrom:
TheOpenIDlibrarywithbatteriesincluded.
Thelibraryfeatures:
refinedandeasy-to-useAPI,
extensivedocumentation,
manystorageimplemetationsincludingfile-based,SQL,andmemcached,
simpleexamplestohelpyougetstartedand
licensedundertheLGPL.
3、安装并验证
[root@localhostsrc]#yuminstall–enablerepo=rpmforgememcachedphp-pecl-memcache
[root@localhostsrc]#memcached-h
memcached1.2.2
[root@localhostsrc]#php-m|grepmemcache
memcache
当然你可以将所有的代码写成一个shell脚本,自动化安装,我这里就不写了,熟悉shell的人都会写,哈哈~
小知识:Linux是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。 |
|