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.gz;memcached-1.4.20.tar.gz;
主机名:
主机IP:192.168.1.101
安装所需软件环境:
libevent-2.0.21-stable.tar.gz
服务器端主要是安装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
# 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
出现如图所示内则为安装成功。
安装memcached时需要在配置时需要指定libevent的安装路径。
# 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 ,
#ls -al/usr/local/bin/mem* -rwxr-xr-x.1 root root 341840 Nov 19 13:18 /usr/local/bin/memcached
#/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是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid,
# kill `cat /tmp/memcached.pid`
也可以启动多个守护进程,不过端口不能重复。
# 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安装成功!
如果启动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服务了.
把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
这样,也就是属于哪个用户的服务,由哪个用户启动。
新手上路,不恰之处,恳请指出,不胜感谢