Memcached安装指南(linux)

Memcached安装指南(linux)

更新日期:2010-05-07
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-stable.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、启动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
http://memcached.org/
http://code.jellycan.com/memcached/
#Memcached安装和基本使用(windows)
http://www.cnblogs.com/netflu/archive/2010/03/12/1684305.html
#memcache简要安装步骤
http://kb.cnblogs.com/a/1575049/
#Memcached linux安装说明
http://kb.cnblogs.com/a/1501326/

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-stable.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/memcached/
#Memcached安装和基本使用(windows)

http://www.cnblogs.com/netflu/archive/2010/03/12/1684305.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-zts-2007xxxx/”

5.添加一行来载入memcache扩展:extension=memcache.so

 

3.重启apache,service httpd restart

Memcache环境测试:
运行下面的php文件,如果有输出This is a test!,就表示环境搭建成功。开始领略Memcache的魅力把!
< ?php
$mem = new Memcache;
$mem->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

之后再次运行就可以了

你可能感兴趣的:(Memcached安装指南(linux))