1. 首页
  2. 系统运维
  3. Linux

CentOS系统安装memcached和PHP的memcache扩展

Memcached 是高性能的分布式内存缓存服务器,而PHP memcache 和 memcached 都是 Memcached 服务器的 PHP 扩展。其中memcache 比 memcached 早出现,所以一些老的代码可能还在用 memcache 扩展。memcached 后来出现,并且大部分框架都支持 memcached,现在相对较流行。可以根据自己需要,安装一个就可以。

以下已centos 系统安装为例,ubuntu、debian也差不多。

第一步:安装memcached

yum install libevent libevent-devel
wget http://www.memcached.org/files/memcached-1.4.39.tar.gz
tar zxf memcached-1.4.39.tar.gz
cd memcached-1.4.39
./configure --prefix=/usr/local/memcached
make
make install

我这里选择编译安装,下载现在最新的1.4.39版本。

第二步:配置memcached

默认不用配置,主要加一个服务脚本。

vi /etc/init.d/memcached

内容类似如下:

#! /bin/bash
#
# memcached:    MemCached Daemon   
#
# chkconfig:    - 90 25  
# description:  MemCached Daemon   
#
### BEGIN INIT INFO
# Provides:          memcached
# Required-Start:    $syslog
# Required-Stop:     $syslog
# Should-Start:        $local_fs
# Should-Stop:        $local_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description:    memcached - Memory caching daemon
# Description:        memcached - Memory caching daemon
### END INIT INFO

IP=0.0.0.0
PORT=11211
USER=root
MAXCONN=1000
CACHESIZE=128
OPTIONS=""

RETVAL=0
prog="memcached"

start() {
    echo -n "Starting $prog: "
    /usr/local/memcached/bin/memcached -d -l $IP -p $PORT -u $USER -m $CACHESIZE -c $MAXCONN -P /var/run/memcached.pid $OPTIONS
    if [ "$?" != 0 ] ; then
        echo " failed"
        exit 1
    else
        touch /var/lock/subsys/memcached
        echo " done"
    fi
}
stop() {
    echo -n "Stopping $prog: "
    if [ ! -f "/var/run/$prog.pid" ]; then
        echo "$prog is not running."
        exit 1
    fi
    kill `cat /var/run/memcached.pid`
    if [ "$?" != 0 ] ; then
        echo " failed"
        exit 1
    else
        rm -f /var/lock/subsys/memcached
        rm -f /var/run/memcached.pid
        echo " done"
    fi
}

restart() {
    $0 stop
    sleep 2
    $0 start
}

status() {
    if [ -f "/var/run/$prog.pid" ]; then
        echo "$prog is running."
    else
        echo "$prog is stopped."
    fi
}

case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    restart|reload)
        restart
        ;;
    status)
        status
        ;;
    *)
        echo "Usage: $0 {start|stop|status|restart|reload}"
        exit 1
        ;;
esac

exit $?

配置开机自动启动

chmod +x /etc/init.d/memcached
chkconfig memcached on

第三步:启动memcached

service memcached start

查看进程和端口,看到如下图说明memcached安装和启动成功。

第四步:安装php扩展

wget http://pecl.php.net/get/memcache-2.2.7.tgz
tar zxf memcache-2.2.7.tgz
cd memcache-2.2.7
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make
make install

php安装目录根据自己实际修改。
修改你的 php.ini 配置文件,在最后添加:

[memcache]
extension=memcache.so

重启php

/etc/init.d/php-fpm restart

正常情况memcache扩展就安装好了。

联系我们

0574-55011290

QQ:248687950

邮件:admin@nbhao.org

工作时间:周一至周五,9:00-18:00,节假日休息

QR code