Wednesday 23 July 2014

Memcached Install

Memcached  安装配置

memcache介绍与原理

Memcache是danga.com的一个项目,最早是为 LiveJournal 服务的,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力。它可以应对任意多个连接,使用非阻塞的网络IO。由于它的工作机制是在内存中开辟一块空间,然后建立一个HashTable,Memcached自管理这些HashTable。
Memcache是高性能的,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度。

下载memcached和libevent库

  1. 官方: memcached.org
    下载当前稳定版本:
    wget http://memcached.googlecode.com/files/memcached-1.4.15.tar.gz
  2. 官方:http://libevent.org/
    下载当前稳定版本:
    wget https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz

安装Installation

先安装libevent,也可直接用yum下载跟新libevent:yum –y install libenvent*
# tar zxvf libevent-2.x.x.tar.gz
# cd libevent-2.x.x
# ./configure --prefix=/usr    (yum erase 删除旧版本)
# make
# make install

安装memcached,同时需要安装中指定libevent的安装位置:
# tar zxvf memcached-1.4.15.tar.gz
# cd memcached-1.4.15
# ./configure --with-libevent=/usr
# make
# make install

如果中间出现报错,请仔细检查错误信息,按照错误信息来配置或者增加相应的库或者路径。
安装完成后会把memcached放到 /usr/local/bin/memcached
测试是否成功安装memcached:
# memcached -h

memcached的基本设置:

1.启动Memcache的服务器端:
# /usr/local/bin/memcached -d -m 512 -u root -l 192.168.0.200 -p 11211 -c 2048 -P /tmp/memcached.pid
-d 选项是启动一个守护进程,
-m 是分配给Memcache使用的内存数量,单位是MB,f
-u 是运行Memcache的用户
-l 是监听的服务器IP地址,如果有多个地址的话,可以指定特定IP地址
-p是设置Memcache监听的端口,默认11211,最好是1024以上的端口,
-c选项是最大运行的并发连接数,默认是1024,按照你服务器的负载量来设定,
-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid,





Annex

  • Error:
    libevent-2.0.so.5: cannot open shared object file: No such file or directory
When installing Memcached on a machine I came across the following error when I tried to start it:
memcached: error while loading shared libraries: libevent-2.0.so.5: cannot open shared object file: No such file or directory

The solution for this on Debian/Ubuntu (and probably most other linux distros) is this…
On a 32 bit system:
ln -s /usr/local/lib/libevent-2.0.so.5 /usr/lib/libevent-2.0.so.5
On a 64 bit system:
ln -s /usr/local/lib/libevent-2.0.so.5 /usr/lib64/libevent-2.0.so.5
After creating the appropriate symlink for your system you should now be able to start memcached as normal:
# memcached -d -u memcached_user -m 256 127.0.0.1 -p 11211

No comments:

Post a Comment