#!/bin/sh
#
#指定一个安装路径参数
if [ $# != 1 ] ; then
echo "USAGE: $0 [workpath]"
exit 1;
fi
#axel -n 5 memcached-1.4.21.tar.gz
MEMCACHED_FILE=memcached-1.4.21
LIBEVENT_FILE=libevent-2.1.4-alpha
#source download url
MEMCACHED_URL=http://memcached.org/files/$MEMCACHED_FILE.tar.gz
#libevent 建议https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz --no-check-certificate
LIBEVENT_URL=http://sourceforge.net/projects/levent/files/libevent/libevent-2.1/$LIBEVENT_FILE.tar.gz/download
#set memcached root path
MEMCACHED_HOME=$1/work/memcached
SOURCE=$MEMCACHED_HOME/source
#memcached source
MEMCACHED_SOURCE=$SOURCE/$MEMCACHED_FILE
#libevent source
LIBEVENT_SOURCE=$SOURCE/$LIBEVENT_FILE
LIBEVENT_INSTALL=/opt/libevent2
if [ ! -d $SOURCE ] ; then
mkdir -p $SOURCE
fi
##change work dir
cd $SOURCE
echo "current path:" `pwd`
echo "download memcached source from $MEMCACHED_URL"
#wget $MEMCACHED_URL
echo "download libevent source from $LIBEVENT_URL"
#wget $LIBEVENT_URL
#tar -zxvf $MEMCACHED_FILE.tar.gz
#tar -zxvf $LIBEVENT_FILE.tar.gz
#安装libevent
#cd $LIBEVENT_SOURCE
#./configure --prefix=$LIBEVENT_INSTALL
#make && make install
#安装memcached
cd $MEMCACHED_SOURCE
echo "current path:" `pwd`
BIT64=""4位
if [ `getconf LONG_BIT` = '64' ] ; then
BIT64="--enable-64bit"
fi
./configure --prefix=$MEMCACHED_HOME --with-libevent=$LIBEVENT_INSTALL $BIT64
make && make install
sh xx.sh 注意添加安装的路径 获取 sh xx.sh path 的地址。
注意 如果是64的为 必须啊把--enable-64bit加上
安装完毕以后 要注意
1、启动(安装后位置:/usr/local/bin/memcached)
memcached -d -m 128 -l 192.168.0.50 -p 11211 -u root
即以root用户,分配最大2GM内存启动memcache
memcached -d -m 128 -l 192.168.0.50 -p 11212 -u root
在另外一个端口11212启动另外一个memcache实例
官方网站: http://www.danga.com/memcached/
启动一个Memcache的服务器端:
/usr/local/bin/memcached -d -m 10 -u root -l 192.168.0.200 -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,如果要结束Memcache进程,执行:
# kill `cat /tmp/memcached.pid`
也可以启动多个守护进程,不过端口不能重复。