1、最简单的做法
通常:启动Memcache的服务器端的命令为:
/usr/local/bin/memcached -d -m 256 -u root -l 127.0.0.1 -p 12000 -c 2048 -P /tmp/memcached.pid
在/etc/rc.d/rc.local中加入一行,上面命令 ,最好选择是:nobody 或 deamon
-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,
2、写成脚本,作为服务
#!/bin/sh
#
# memcached Startup script for memcached processes
#
# chkconfig: - 90 10
# description: Memcache provides fast memory based storage.
# processname: memcached
# Date: 2015-08-08
# Author: cpz@erongtu.com
. /etc/rc.d/init.d/functions
. /etc/sysconfig/network
IPADDR=`/sbin/ifconfig eth0 | awk -F ':' '/inet addr/{print $2}' | sed 's/[a-zA-Z ]//g'`
MEMCACHED="/usr/local/bin/memcached"
PROG=$(basename $MEMCACHED)
PORT=12000
USER=root
MEMORY=256
PID="/tmp/memcached.pid"
CONN=2048
LOCKFILE="/var/lock/subsys/memcached"
RETVAL=0
[ -x $MEMCACHED ] || exit 0
start() {
if [ -e $PID -a ! -z $PID ];then
echo $PROG" already running"
exit 1
fi
echo -n $"Starting $PROG"
# Starting memcached with 256MB memory on port 12000 as deamon and user nobody
$MEMCACHED -m $MEMORY -p $PORT -l $IPADDR -d -u $USER -c $CONN -P $PID
RETVAL=$?
[ $RETVAL -eq 0 ] && {
touch $LOCKFILE
success $"$PROG"
}
echo
return $RETVAL
}
stop() {
echo -n $"Stopping $PROG "
killproc -d 10 $MEMCACHED
echo
[ $RETVAL = 0 ] && rm -f $PID $LOCKFILE
RETVAL=$?
return $RETVAL
}
reload() {
echo -n $"Reloading $PROG"
killproc $MEMCACHED -HUP
RETVAL=$?
echo
return $RETVAL
}
case "$1" in
start)
start
;;
stop)
stop
;;
reload)
reload
;;
restart)
stop
start
;;
condrestart)
if test "x`pidof memcached`" != x; then
stop
start
fi
;;
*)
echo $"Usage: $0 {start|stop|restart|reload|condrestart}"
exit 1
esac
exit $RETVAL
#chmod +x /etc/init.d/memcached
#chkconfig --add memcached
#chkconfig memcached on
3、附上 memcached 的安装过程
1)下载(软件不是最新,请到官网下载最新版本)
cd /usr/loca/src
wget http://www.memcached.org/files/memcached-1.4.24.tar.gz
wget https://sourceforge.net/projects/levent/files/libevent/libevent-2.0/libevent-2.0.22-stable.tar.gz
2)安装libevent
cd /usr/loca/src
tar zxvf libevent-2.0.22-stable.tar.gz
cd libevent-2.0.22-stable
./configure --prefix=/usr/local/libevent
make && make install
3) 测试libevent
ls -al /usr/lib | grep libevent
4)安装memcached
cd /usr/loca/src
tar zxvf memcached-1.4.24.tar.gz
cd memcached-1.4.24
./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent/
make && make install
5)测试是否安装成功
ls -al /usr/local/bin/mem*
6)安装libmemcached
cd /usr/local/src
wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz
tar zxvf libmemcached-0.42.tar.gz
cd libmemcached-0.42
./configure --prefix=/usr/local/libmemcached --with-memcached
make && make install
7)PHP安装memcached扩展
pecl install memcached
或者
cd /usr/local/src
wget https://pecl.php.net/get/memcached-2.2.0.tgz
tar zxf memcached-2.2.0.tgz
cd memcached-2.2.0
phpize
./configure --enable-memcached --with-libmemcached-dir=/usr/local/libmemcached
make && make install
echo extension=memcached.so > /etc/php.d/memcached.ini
service php-fpm reload