一、memcached安装部署

1、环境介绍

系统环境:Red HatEnterprise Linux Server release 6.2 (Santiago)

内核版本:Linux zxt-02.com2.6.32-220.el6.x86_64 #1 SMP Wed Nov 9 08:03:13 EST 2011 x86_64 x86_64 x86_64 GNU/Linux

软件版本:libevent-2.0.21-stable.tar.gzmemcached-1.4.20.tar.gz 

主机名:

主机IP192.168.1.101

安装所需软件环境:

libevent-2.0.21-stable.tar.gz

2、下载Memcache

服务器端主要是安装memcache服务器端.

下载:http://www.danga.com/memcached/dist/memcached-1.4.20.tar.gz

另外,Memcache用到了libevent这个库用于Socket的处理,所以还需要安装libevent。(如果你的系统已经安装了libevent,可以不用安装)

官网:http://www.monkey.org/~provos/libevent/

下载:http://www.monkey.org/~provos/libevent-2.0.21-stable.tar.gz

wget指令直接下载这两个东西.下载回源文件。

# cd /sfot
# wget http://www.danga.com/memcached/dist/memcached-1.4.20.tar.gz
# wget http://www.monkey.org/~provos/libevent-2.0.21-stable.tar.gz

2.1、安装libevent

这个东西在配置时需要指定一个安装路径,

安装步骤如下libevent

# tar zxvf libevent-2.0.21-stable.tar.gz
# cd libevent-2.0
# ./configure --prefix=/usr
# make
# make install

2.2测试libevent是否安装成功

#  ls -al /usr/lib | grep libevent
lrwxrwxrwx.  1 root root      21 Nov 19 13:16 libevent-2.0.so.5 ->libevent-2.0.so.5.1.9
-rwxr-xr-x.  1 root root 968722 Nov 19 13:16 libevent-2.0.so.5.1.9
-rw-r--r--.  1 root root 1571722 Nov 19 13:16 libevent.a
lrwxrwxrwx.  1 root root      26 Nov 19 13:16 libevent_core-2.0.so.5-> libevent_core-2.0.so.5.1.9
-rwxr-xr-x.  1 root root 585265 Nov 19 13:16 libevent_core-2.0.so.5.1.9
-rw-r--r--.  1 root root 978426 Nov 19 13:16 libevent_core.a
-rwxr-xr-x.  1 root root     970 Nov 19 13:16 libevent_core.la
lrwxrwxrwx.  1 root root      26 Nov 19 13:16 libevent_core.so ->libevent_core-2.0.so.5.1.9
lrwxrwxrwx.  1 root root      27 Nov 19 13:16 libevent_extra-2.0.so.5-> libevent_extra-2.0.so.5.1.9
-rwxr-xr-x.  1 root root 404852 Nov 19 13:16 libevent_extra-2.0.so.5.1.9
-rw-r--r--.  1 root root 593368 Nov 19 13:16 libevent_extra.a
-rwxr-xr-x.  1 root root     977 Nov 19 13:16 libevent_extra.la
lrwxrwxrwx.  1 root root      27 Nov 19 13:16 libevent_extra.so ->libevent_extra-2.0.so.5.1.9
-rwxr-xr-x.  1 root root     935 Nov 19 13:16 libevent.la
lrwxrwxrwx.  1 root root      30 Nov 19 13:16libevent_pthreads-2.0.so.5 -> libevent_pthreads-2.0.so.5.1.9
-rwxr-xr-x.  1 root root  18430 Nov 19 13:16 libevent_pthreads-2.0.so.5.1.9
-rw-r--r--.  1 root root  18670 Nov 19 13:16 libevent_pthreads.a
-rwxr-xr-x.  1 root root     998 Nov 19 13:16 libevent_pthreads.la
lrwxrwxrwx.  1 root root      30 Nov 19 13:16 libevent_pthreads.so-> libevent_pthreads-2.0.so.5.1.9
lrwxrwxrwx.  1 root root      21 Nov 19 13:16 libevent.so ->libevent-2.0.so.5.1.9


出现如图所示内则为安装成功。

3、安装memcached

安装memcached时需要在配置时需要指定libevent的安装路径。

 

3.1、安装memcached

# cd /soft
# tar zxvf memcached-1.4.20.tar.gz
# cd memcached-1.4.20
# ./configure  --with-libevent=/usr
# make
# make install


如果中间出现报错,请仔细检查错误信息,按照错误信息来配置或者增加相应的库或者路径。

安装完成后会把memcached放到 /usr/local/bin/memcached

3.2、测试memcached是否成功安装

#ls -al/usr/local/bin/mem*
-rwxr-xr-x.1 root root 341840 Nov 19 13:18 /usr/local/bin/memcached


4、启动Memcached服务:

4.1、启动Memcache的服务器端:

#/usr/local/bin/memcached -d -m 10 -u root -l192.168.1.101 -p 12000 -c 256 -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是设置保存Memcachepid文件,我这里是保存在 /tmp/memcached.pid

4.2、结束Memcache进程

# kill `cat /tmp/memcached.pid`

也可以启动多个守护进程,不过端口不能重复。

5、测试Memcached

# telnet 192.168.1.101 12000
Trying192.168.141.64...
Connectedto 192.168.141.64 (192.168.141.64).
Escapecharacter is '^]'.
setkey1 0 60 4
zhou
STORED
getkey1
VALUEkey1 0 4
zhou
END

至此Memcached安装成功!

 

6、常见问题:

6.1、问题一:

如果启动Memcached服务的时候遇到了

/usr/local/bin/memcached:error while loading shared libraries: libevent-1.2.so.1: cannot open sharedobject file: No such file or directory;

 

解决方案:

[root@localhost bin]# LD_DEBUG=libsmemcached -v
[root@localhost bin]# ln -s/usr/lib/libevent-1.2.so.1 /usr/lib64/libevent-1.2.so.1
[root@localhost bin]#/usr/local/bin/memcached -d -m 100 -u root -p 12000 -c 1000 -P/tmp/memcached.pid
[root@localhost bin]# ps -aux

可以看到启动的Memcached服务了.

6.1、问题二:

Memcached服务加载到Linux的启动项中.万一机器断电系统重启.那么Memcached就会自动启动了.

 

假如启动Memcache的服务器端的命令为:

# /usr/local/bin/memcached -d -m 10 -u root-l 192.168.141.64 -p 12000 -c 256 -P /tmp/memcached.pid

 想开机自动启动的话,只需在/etc/rc.d/rc.local中加入一行,下面命令

/usr/local/memcached/bin/memcached -d -m 10-p 12000 -u apache -c 256

上面有些东西可以参考一下:即,ip不指定时,默认是本机,用户:最好选择是:apache deamon

这样,也就是属于哪个用户的服务,由哪个用户启动。

 


  新手上路,不恰之处,恳请指出,不胜感谢