首先弄清memcache 、memcached的差别,相差一个字母,总结下:

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

Memcached又是什么?
    Memcache是该系统的项目名称,Memcached是该系统的主程序文件(字母d可以理解为daemon),以守护程序方式运行于一个或多个服务器中,随时接受客户端的连接操作,使用共享内存存取数据。Memcached是简单而强大的。它简单的设计促进迅速部署,易于发展所面临的问题,解决了很多大型数据缓存。它的API可供最流行的语言。


安装步骤:

1、下载memcached服务器端安装文件,例如版本: memcached-1.4.5.tar.gz

2、下载libevent安装文件,例如版本: libevent-2.0.10-stable.tar.gz

3、如果是新服务器,使用 yum 程序安装所需开发包(以下为标准的 RPM 包名称),如果系统已经安装过就不用重复安装了,可以先跳过这步骤,在下面步骤的执行过程中提示需要安装这些,再来安装也行。

 yum install gcc gcc-c++ gcc-g77 flex bison autoconf automake bzip2-devel zlib-devel ncurses-devel libjpeg-devel libpng-devel libtiff-devel freetype-devel pam-devel

4、查看系统是否默认安装了该软件。如果已经安装通常会e bzip2-devel zlib-devel ncurses-devel libjpeg-devel libpng-devel libtiff-devel freetype-devel pam-devel选择卸载,因为版本较低。

rpm -qa|grep libevent #执行后如果显示了已安装版本,且版本较低,那么就下一步卸载;
rpm -e libevent-1.4.13-1 --nodeps(忽略依赖方式,文件名写你刚刚看到的)

顺便介绍下软件卸载:

  1.软件的卸载主要是使用rpm来进行的。卸载软件首先要知道软件包在系统中注册的名称。键入命令:
#rpm -q -a
即可查询到当前系统中安装的所有的软件包。
2. 确定了要卸载的软件的名称,就可以开始实际卸载该软件了。键入命令:
#rpm -e [package name]
即可卸载软件。参数e的作用是使rpm进入卸载模式。对名为[package name]的软件包进行卸载。由于系统中各个软件包之间相互有依赖关系。如果因存在依赖关系而不能卸载,rpm将给予提示并停止卸载。你可以使用如下的命令来忽略依赖关系,直接开始卸载:
#rpm -e [package name] -nodeps
忽略依赖关系的卸载可能会导致系统中其它的一些软件无法使用

5、安装libevent:上传libevent-2.0.10-stable.tar.gz 到服务器复制到了/usr/local/目录(根据自身需要)

tar -zxf libevent-2.0.10-stable.tar.gz #当前目录执行,解压文件。
mkdir libevent #当前目录新建安装libevent文件夹。
cd libevent-2.0.10-stable #进入安装文件目录
./configure --prefix=/usr/local/libevent #选择安装目录,检测安装环境,生成Makefile供编译
make #编译(将代码变成可执行文件)
make install #执行

   关于./configure,make,make install的介绍:http://ycgit.blog.51cto.com/8590215/1672429

6、安装memcached:上传memcached-1.4.5.tar.gz到服务器复制到了/usr/local/目录(根据自身需要)

tar -zxf memcached-1.4.5.tar.gz #当前目录执行,解压文件。
mkdir memcached #新建安装memcache的文件夹。
注:有时候直接从网页复制代码会导致无法执行,错误提示:bash: mkdir: command not found 。这时候你就手动敲一遍。
cd  memcached-1.4.5;
./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent #必须指定 刚刚安装的libevent目录
make;
make install;

7、如果memcache安装在单独的服务器上,检查下防火墙是否已允许,它的默认端口是11211,如果服务器之间是完全开放,就不用配置端口访问了。

8、启动

/usr/local/memcached/bin/memcached -d -m 2048 -u root -l 0.0.0.194 -c 500 -P /tmp/memcached.pid  #带上用户名、本服务器ip。

如果启动报错如下:

/usr/local/memcached/bin/memcached: error while loading shared libraries: libevent-2.0.so.5: cannot open shared object file: No such file or directory

处理方式:

我们要知道memcached去是哪些目录查找libevent动态库的,这里用这个命令

#LD_DEBUG=libs /usr/local/memcached/bin/memcached -v

wKioL1V_-hDxewb1AAI4X2VluFE507.jpg显示寻找的目录是 /usr/lib,那么我们需要加个软链接:

ln -s /usr/local/libevent/lib/libevent-2.0.so.5  /usr/lib/libevent-2.0.so.5

再启动就可以了。

9、查看、关闭memcached

ps -ef|grep memcache #查看其进程
kill `cat /tmp/memcached.pid`#关闭其进程

10、清理安装文件:

rm libevent-2.0.10-stable.tar.gz
rm memcached-1.4.5.tar.gz
rm -rf libevent-2.0.10-stable/
rm -rf memcached-1.4.5/