Linux下memcache的安装和启动

memcache是高性能,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度。据说官方所说,其用户包括twitter、digg、flickr等,都是些互联网大腕呀。目前用memcache解决互联网上的大用户读取是非常流行的一种用法。

 

下载安装

下载了,我到了其官方(http://memcached.org/),目前最新的下载版本是1.4.5

还要再安装libevent这个软件,从官方(http://monkey.org/~provos/libevent/)下载,目前最新的稳定版是1.4.14。

下载后,将其上传到了/home/blue/下面

执行以下命令

复制代码
cd /home/blue
tar zxvf memcached-1.4.5.tar.gz
tar zxvf libevent-1.4.14b-stable.tar.gz
#安装libevent
cd libevent-1.4.14b-stable
./configure --prefix=/home/liuzhy/libevent-1.4.14b-stable
make
make install

#安装memcache
cd /home/blue/memcached-1.4.5
./configure --prefix=/home/blue/memcached-1.4.5 --with-libevent=/home/blue/libevent-1.4.14b
make 
make install 
复制代码

 

启动memcache服务

进入bin目录,执行:./memcached -d -m 1024 -u blue,但是系统说有一个共享库没有加载,共享库的名称为:libevent-1.4.so.2

首先要查看一下memcached 这个命令用到的链接库地址在哪儿。执行如下命令可以查看:

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

 

显示出memcache从哪些地方找libevent-1.4.so.2这个文件,所以,我们只有将libevent-1.4.so.2这个文件指定到上面任意一个目录即可。这里我们将其指定到/lib64/下面。做一个软连接即可。命令如下:

ln -s /usr/local/lib/libevent-1.4.so.2 /usr/lib/libevent-1.4.so.2

在启动一下memcache服务:./memcached -d -m 1024 -u blue就可以了

下面将memcached命令的参数罗伦如下,

复制代码
# /usr/local/bin/memcached -d -m 200 -u root -l 192.168.1.91 -p 12301 -c 1000 -P /tmp/memcached.pid
相关解释如下:
-d选项是启动一个守护进程,
-m是分配给Memcache使用的内存数量,单位是MB,这里是200MB
-u是运行Memcache的用户,如果当前为 root 的话,需要使用此参数指定用户。
-l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址192.168.1.91
-p是设置Memcache监听的端口,我这里设置了12301,最好是1024以上的端口
-c选项是最大运行的并发连接数,默认是1024,这里设置了256
-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid
停止Memcache进程:
# kill `cat /tmp/memcached.pid`
也可以启动多个守护进程,但是端口不能重复
复制代码

一开始说的“-d”参数需要进行进一步的解释

-d install 安装memcached
-d uninstall 卸载memcached
-d start 启动memcached服务
-d restart 重启memcached服务
-d stop 停止memcached服务
-d shutdown 停止memcached服务

检查服务:

1、查看启动的memcache服务:

netstat -lp | grep memcached

2、查看memcache的进程号(根据进程号,可以结束memcache服务:“kill -9 进程号”)

ps -ef | grep memcached 
 
  
 
  
 
  
 
  
 
  
Linux上完美安装memcache(含自启动)

一、安装依赖库libevent
1.进入/usr/lib目录,使用命令:ls -al libevent 查看是否已安装,如果已安装且版本低于2.0.21,则先通过:rpm -e libevent —nodeps 进行卸载。
2.上传libevent-2.0.21-stable.tar.gz至非usr目录下(因为libevent将安装到usr目录,所以最好换个目录存放安装文件,例如/home),然后解压。 

3.切换到解压后的 libevent 主目录:cd libevent-2.0.21-stable
4.依次执行:
1) ./configure -prefix=/usr(或 ./configure --program-prefix=/usr)
2) make 
3) make install 
 注意:
1) 执行 make install 时可能需要 root 权限。
2) libevent会安装到 /usr/lib下
 5.测试libevent是否安装成功:ls -al /usr/lib|grep libevent出现类似下图结果则表示安装成功: 

Linux下memcache的安装和启动_第1张图片

 6.有时候,libevent会被安装目录到/usr/local/lib下(采用默认安装就会安装到这个目录),这种情况下除了按照1-5的步骤操作外,还需要建立libevent-2.0.so.5 到 /usr/lib 的软连接,这样其他程序运行时才能找到libevent库:
ln –s /usr/local/lib/libevent-2.0.so.5  /usr/lib/libevent-2.0.so.5
7.在64位机器上还需做一个64位库的链接,否则运行memcache时会报找不到libevent的错误
ln -s/usr/lib/libevent-2.0.so.5 /usr/lib64/libevent-2.0.so.5

二、安装memcache(源代码安装)
1.上传memcached-1.4.15.tar.gz至非usr目录下(因为memcached-1.4.15将安装到usr目录,所以最好换个目录存放安装文件,例如/home),然后解压。 
2.切换到解压后的 memcache主目录:cd memcached-1.4.15
3.依次执行:
1) ./configure -prefix=/usr/local/memcached --with-libevent=/usr
2) make 
3) make install 

 注意:
1) 执行 make install时可能需要 root权限。
2) memcache会安装到 /usr/local/memcached下
三、安装memcache(安装包安装)--待补充
四、配置为自启动服务
1.编写memcached自启动脚本或直接使用memcached安装包中的脚本(位置如下,本文使用官方自带的脚本)
 
2.修改自启动脚本(红色部分标识,中文注释仅限本文提示用,安装包没有)

#! /bin/sh
#
# chkconfig: - 55 45
# description:  The memcached daemon is a network memory cache service.
# processname: memcached
# config: /etc/sysconfig/memcached

# Source function library - for other linux
#. /etc/rc.d/init.d/functions
# Source function library - for suse linux
. /lib/lsb/init-functions

PORT=11211
USER=root
#最大连接数,根据实际需求修改
MAXCONN=1024
#最大内存量,单位M
CACHESIZE=128
OPTIONS=""

if [ -f /etc/sysconfig/memcached ];then
  . /etc/sysconfig/memcached
fi

# Check that networking is up.
if [ "$NETWORKING" = "no" ]
then
  exit 0
fi

RETVAL=0
prog="memcached"

start () {
  echo -n $"Starting $prog: "
  # insure that /usr/local/memcached has proper permissions
  chown $USER /usr/local/memcached
  /usr/local/memcached/bin/memcached -d -p $PORT -u $USER  -m $CACHESIZE -c $MAXCONN -P /usr/local/memcached/memcached.pid $OPTIONS
  RETVAL=$?
  echo
  [ $RETVAL -eq 0 ] && touch /var/lock/subsys/memcached
}
stop () {
  echo -n $"Stopping $prog: "
  killproc memcached
  RETVAL=$?
  echo
  if [ $RETVAL -eq 0 ] ; then
  rm -f /var/lock/subsys/memcached
  rm -f /usr/local/memcached/memcached.pid
  fi
}

restart () {
  stop
  start
}


# See how we were called.
case "$1" in
  start)
  start
  ;;
  stop)
  stop
  ;;
  status)
  status memcached
  ;;
  restart|reload)
  restart
  ;;
  condrestart)
  [ -f /var/lock/subsys/memcached ] && restart || :
  ;;
  *)
  echo $"Usage: $0 {start|stop|status|restart|reload|condrestart}"
  exit 1
esac

exit $?

 shell > cp memcached.sysv /etc/init.d/memcached3.将此脚本cp到/etc/init.d目录下并改名为memcached,然后执行chmod a+x memcached,如下:
 shell > chmod 755 /etc/init.d/memcached

 4.将memcached加入系统服务:
 shell > chkconfig --add memcached
 shell > chkconfig memcached on
 5.以服务方式运行memcached
  shell > service memcached start
 以上如成功则重启下系统后查看下memcached是否已随系统启动

你可能感兴趣的:(分布式,memcached,高性能)