转载自: http://chenzhou123520.iteye.com/blog/1933489
最近在公司服务器上安装memcached安了很多次,每次都得上网来查一下步骤,今天干脆写个详细点的步骤记录一下,留作备忘。
一、检查libevent
首先检查系统中是否安装了libevent
rpm -qa|grep libevent
如果安装了则查看libevent的安装路径,后续安装时需要用到
rpm -ql libevent
如果没有安装,则先安装libevent
安装libevent:
- 首先下载libevent安装包
wget http://www.monkey.org/~provos/libevent-1.4.12-stable.tar.gz
- 解压缩安装包
tar zxvf libevent-1.4.12-stable.tar.gz -C /usr/local/
- 进入解压后的目录
cd libevent-1.4.12-stable/
- 配置编译、安装
./configure -prefix=/usr/libevent
make
make install
安装完libevent之后为了让动态链接库为系统所共享,需要执行以下动态链接库的管理命令ldconfig
不过在执行ldconfig命令之前需要注意以下libevent的安装目录。具体参见:
http://chenzhou123520.iteye.com/blog/1925196
安装完libevent后正式开始安装memcached
- 首先是下载memcached的安装包
wget http://memcached.googlecode.com/files/memcached-1.4.15.tar.gz
- 修改安装包的执行操作权限
chmod 777 memcached-1.4.15.tar.gz
- 解压安装包到指定目录
tar zxvf memcached-1.4.15.tar.gz -C /usr/local
- 进入解压后的目录
cd /usr/local/memcached-1.4.15/
- 配置、编译、安装
注:configure时需要指定libevent的安装路径
./configure -with-libevent=/usr/libevent/ -prefix=/usr/local/memcached
make
make install
- 安装成功后启动一下看安装是否成功
/usr/local/memcached/bin/memcached -d -m 2048 -p 11211 -u root
启动参数介绍如下:
-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,也可以启动多个守护进程,不过端口不能重复。
如果要给memcached上配置日志,参见:http://chenzhou123520.iteye.com/blog/1925209
PS:附上一个memcached启动的shell脚本
#!/bin/sh
echo "Start to start memcached server $(date)..."
MEMCACHED=/usr/local/memcached/bin/memcached
usage()
{
echo "usage: `basename $0` port"
}
if [ -n "$1" ]
then
{
pid=`ps aux|grep memcached|grep "$1" |grep -v grep|awk '{print $2}'`
if [ -n "$pid" ]
then
{
sleep 2
echo "kill memcached which port is $1 begin"
echo "pid:$pid"
kill -9 $pid
echo "kill memcached which port is $1 end"
sleep 2
}
fi
echo "begin to start memcached in port $1"
LOG_FILE=/var/log/memcached/memcached_$1.log
rm -f $LOG_FILE
$MEMCACHED -d -m 2048 -p $1 -u root -vv >> $LOG_FILE 2>&1
echo "start memcached end"
tail -f $LOG_FILE
}
else
{
usage
exit 1
}
fi
把该脚本命名为startup.sh
执行:./startup.sh 11211
其中11211为memcached的启动端口,也可以通过自定义的端口来启动。