`
zj419zj
  • 浏览: 13024 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

Memcached安装指南(linux)

 
阅读更多

Memcached安装指南(linux)
2011年04月28日
  更新日期:2010-05-07
  1、启用虚拟机。
  路径:G:\Virtual Machines\VMware.Memcached
  配置SecureCRT:CJB.Memcached  192.168.160.129
  2、下载程序。
  #cd /home/apps
  #wget http://www.danga.com/memcached/dist/memcached-1.4. 0.tar.gz
  3、编译器检查。
  #gcc -v
  4、安装。
  1)、安装libevent。
  #tar -zxvf  libevent-1.4.13-stable.tar.gz  //先解压缩
  #cd libevent-1.4.13-stable  //切换到libevent的目录中
  #./configure --prefix=/usr/  //指定安装路径到/usr/目录下
  #make  //编译
  #make install  //安装
  #ls /usr/lib |grep libevent  //验证安装
  2)、安装memcached
  #cd /home/apps
  #tar -zxvf  memcached-1.4.0.tar.gz
  #cd  memcached-1.4.0
  #./configure --prefix=/usr/local/memcached --with-libevent=/usr/
  #make
  #make install
  #ls -al /usr/local/memcached/bin  //验证安装
  5、启动memcache
  1)、关闭防火墙。
  #永久性生效,重启后不会复原 
  开启: chkconfig iptables on 
  关闭: chkconfig iptables off 
  #即时生效,重启后复原 
  开启: service iptables start 
  关闭: service iptables stop 
  #修改/etc/sysconfig/iptables文件,添加
  -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 11211 -j ACCEPT 
  2)、启动Memcache的服务器端。
  # /usr/local/memcached/bin/memcached -d -m 100 -u root -l 192.168.160.129 -p 11211 -c 256 -P /tmp/memcached.pid 
  -d选项是启动一个守护进程, 
  -m是分配给Memcache使用的内存数量,单位是MB,我这里是100MB, 
  -u是运行Memcache的用户,我这里是root, 
  -l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址192.168.36.200, 
  -p是设置Memcache监听的端口,我这里设置了11211,最好是1024以上的端口,我们这里统一使用11211
  -c选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定。
  -P是设置保存Memcache的pid文件,我这里是保存在/tmp/memcached.pid,
  3)、结束Memcache进程。
  # kill cat /tmp/memcached.pid
  6、  监测是否启动成功方式
  cmd
  c:\>telnet 192.168.160.129 11211
  直接敲击stats命令
  7、  设定memcache的telnet访问限制
  请限定telnet的访问,使之只能在中转机上访问
  8、  memcache的常见概念
  memcached会预先分配内存,memcached分配内存方式称之为allocator,首先,这里有3个概念: 
  1 slab 
  2 page 
  3 chunk 
  解释一下,一般来说一个memcahced进程会预先将自己划分为若干个slab,每个slab下又有若干个page,
  每个page下又有多个chunk,如果我们把这3个咚咚看作是object得话,这是两个一对多得关系。
  再一般来说,slab得数量是有限得,几个,十几个,或者几十个,这个跟进程配置得内存有关。
  而每个slab下得page默认情况是1m,也就是说如果一个slab占用100m得内存得话,
  那么默认情况下这个slab所拥有得page得个数就是100,而chunk就是我们得数据存放得最终地方
  9、  Memcache的常用命令
  1)、查询状态命令:stats:
  Name              Type     Meaning
  ----------------------------------
  pid  32u      Process id of this server process
  uptime  32u      Number of seconds this server has been running
  time  32u      current UNIX time according to the server
  version  string   Version string of this server
  pointer_size  32       Default size of pointers on the host OS (generally 32 or 64)
  rusage_user  32u:32u  Accumulated user time for this process (seconds:microseconds)
  rusage_system  32u:32u  Accumulated system time for this process (seconds:microseconds)
  curr_items  32u      Current number of items stored by the server
  total_items  32u      Total number of items stored by this server ever since it started
  bytes  64u      Current number of bytes used by this server  to store items
  curr_connections  32u      Number of open connections
  total_connections 32u      Total number of connections opened since the server started running
  connection_structures 32u  Number of connection structures allocated by the server
  cmd_get  64u      Cumulative number of retrieval requests
  cmd_set  64u      Cumulative number of storage requests
  get_hits  64u      Number of keys that have been requested and found present
  get_misses  64u      Number of items that have been requested and not found
  evictions  64u      Number of valid items removed from cache to free memory for new items                                                                                      
  bytes_read  64u      Total number of bytes read by this server from network
  bytes_written  64u      Total number of bytes sent by this server to network
  limit_maxbytes  32u      Number of bytes this server is allowed to use for storage.
  threads  32u      Number of worker threads requested.  (see doc/threads.txt)
  2)、查询版本号 version
  3)、退出命令 quit
  4)、显示各个slab的信息,包括chunk的大小、数目、使用情况等:stats slabs5)、
  显示各个slab中item的数目和最老item的年龄(最后一次访问距离现在的秒数):stats items6)、
  显示内存分配:stats malloc
  5)、清空缓存数据(其实是将所有缓存数据标记为过期):flush_all
  参考资料:
  #memcached
  1、启用虚拟机。
  路径:G:\Virtual Machines\VMware.Memcached
  配置SecureCRT:CJB.Memcached  192.168.160.129
  2、下载程序。 #cd /home/apps#wget http://www.monkey.org/~provos/libevent-1.4.13-stab le.tar.gz #wget http://www.danga.com/memcached/dist/memcached-1.4. 0.tar.gz  3、编译器检查。#gcc -v
  4、安装。
  1)、安装libevent。
  #tar -zxvf  libevent-1.4.13-stable.tar.gz  //先解压缩
  #cd libevent-1.4.13-stable  //切换到libevent的目录中
  #./configure --prefix=/usr/  //指定安装路径到/usr/目录下
  #make  //编译
  #make install  //安装
  #ls /usr/lib |grep libevent  //验证安装
  2)、安装memcached
  #cd /home/apps
  #tar -zxvf  memcached-1.4.0.tar.gz
  #cd  memcached-1.4.0
  #./configure --prefix=/usr/local/memcached --with-libevent=/usr/
  #make  #make install
  #ls -al /usr/local/memcached/bin  //验证安装
  5、启动memcache1)、关闭防火墙。
  #永久性生效,重启后不会复原 
  开启: chkconfig iptables on 
  关闭: chkconfig iptables off 
  #即时生效,重启后复原 
  开启: service iptables start 
  关闭: service iptables stop 
  #修改/etc/sysconfig/iptables文件,
  添加-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 11211 -j ACCEPT 
  2)、启动Memcache的服务器端。
  # /usr/local/memcached/bin/memcached -d -m 100 -u root -l 192.168.160.129 -p 11211 -c 256 -P /tmp/memcached.pid 
  -d选项是启动一个守护进程, 
  -m是分配给Memcache使用的内存数量,单位是MB,我这里是100MB, 
  -u是运行Memcache的用户,我这里是root, 
  -l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址192.168.36.200, 
  -p是设置Memcache监听的端口,我这里设置了11211,最好是1024以上的端口,我们这里统一使用11211-c选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定。
  -P是设置保存Memcache的pid文件,我这里是保存在/tmp/memcached.pid
  3)、结束Memcache进程。
  # kill cat /tmp/memcached.pid
  6、  监测是否启动成功方式
  cmd
  c:\>telnet 192.168.160.129 11211
  直接敲击stats命令
  7、  设定memcache的telnet访问限制
  请限定telnet的访问,使之只能在中转机上访问
  8、  memcache的常见概念
  memcached会预先分配内存,memcached分配内存方式称之为allocator,首先,这里有3个概念: 1 slab 2 page 3 chunk 解释一下,一般来说一个memcahced进程会预先将自己划分为若干个slab,每个slab下又有若干个page,每个page下又有多 个chunk,如果我们把这3个咚咚看作是object得话,这是两个一对多得关系。再一般来说,slab得数量是有限得,几个,十几个,或者几十个,这 个跟进程配置得内存有关。而每个slab下得page默认情况是1m,也就是说如果一个slab占用100m得内存得话,那么默认情况下这个slab所拥 有得page得个数就是100,而chunk就是我们得数据存放得最终地方
  9、  Memcache的常用命令
  1)、查询状态命令:stats:    
  2)、查询版本号 version
  3)、退出命令 quit
  3)、清空缓存数据(其实是将所有缓存数据标记为过期):flush_all 
  参考资料:
  #memcached
  http://memcached.org/http://code.jellycan.com/memc ached/
  #Memcached安装和基本使用(windows)
  http://www.cnblogs.com/netflu/archive/2010/03/12/1 684305.html
  #memcache简要安装步骤
  http://kb.cnblogs.com/a/1575049/
  #Memcached linux安装说明
  http://kb.cnblogs.com/a/1501326/
  PHP 扩展
  安装Memcache的PHP扩展(如果不使用PHP此步可以不用做)
  1.在http://pecl.php.net/package/memcache 选择相应想要下载的memcache版本。
  2.安装PHP的memcache扩展
  tar vxzf memcache-2.2.1.tgz
  cd memcache-2.2.1
  /usr/local/php/bin/phpize
  ./configure  enable-memcache  with-php-config=/usr/local/php/bin/php-config  with-zlib-dir
  make
  make install
  3.上述安装完后会有类似这样的提示:
  Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts -2007xxxx/
  4.把php.ini中的extension_dir = "./"修改为
  extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zt s-2007xxxx/" 5.添加一行来载入memcache扩展:extension=memcache.so
  3.重启apache,service httpd restart
  Memcache环境测试:
  运行下面的php文件,如果有输出This is a test!,就表示环境搭建成功。开始领略Memcache的魅力把!
  connect("127.0.0.1″, 11211);
  $mem->set('key', 'This is a test!', 0, 60);
  $val = $mem->get('key');
  echo $val;
  ?>
  我启动我的memcache的命令是:
  ./memcached -d -m 64 -u root -l 10.1.2.135 -p 11211 -c 256 -P /tmp/memcached.pid 
  ./memcached -d -m 64 -u root -l 10.1.2.135 -p 11212 -c 256 -P /tmp/memcached.pid
  ./memcached -d -m 64 -u root -l 10.1.2.135 -p 11213 -c 256 -P /tmp/memcached.pid
  其中10..1.2.135为memcache所在的服务器的地址,可以同时启动多个mem的守护进程缓存数据,但是端口号是不能相同的。
  我安装memcache时也遇到了一个问题:
  /usr/local/memcached/bin/memcached: error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or directory
  主要是看最后一行提示的错误,那么我们:
  以下是代码片段:
  ln -s /usr/local/lib/libevent-1.4.so.2 /usr/lib/libevent-1.4.so.2
  ldconfig
  之后再次运行就可以了
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics