Centos 下編譯安裝Memcache

安裝環境說明:

操做系統:Centos 6.5 -64bitphp

安裝路徑:/usr/local/memcachedlinux

開始編譯memcached

安裝編譯須要的擴展包vim

yum install libevent libevent-devel

開始編譯memcached緩存

tar -zxvf memcached-1.4.21.tar.gz
cd memcached-1.4.21
./configure --prefix=/usr/local/memcached
make
make install

安裝PHP memcache 擴展包

tar -zxvf 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擴展模塊文件夾
/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/

建立memcached自啓動腳本

#! /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


ip="192.168.25.129"             # 綁定偵聽的IP地址
port="11211"                    # 服務端口
username="root"                 # 運行程序的用戶身份
max_memory=64                   # default: 64M | 最大使用內存
max_connection=1024             # default: 1024 | 最大同時鏈接數



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"
pidfile=/tmp/memcached.pid
basedir=/usr/local/memcached
cmd=${basedir}/bin/memcached

start () {
  echo -n $"Starting service:$prog "
  chown $username $basedir
  $cmd -d -p $port -u $username  -m $max_memory -c $max_connection -P $pidfile $OPTIONS
  RETVAL=$?
  echo
  [ $RETVAL -eq 0 ] && touch /var/lock/subsys/memcached
  return $retval
}

stop() {
    echo -n $"Stopping service: $prog  "
    current_user=$(whoami)
    pidlist=$(ps -ef | grep $current_user | grep memcached | grep -v grep | awk '{print $2}')
    for pid in $pidlist ; do
        kill -9 $pid
        if [ $? -ne 0 ]; then
           return 1
        fi
    done
    RETVAL=$?
    echo
    [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/memcached
}

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 $?

腳本配置memcached

# 將此腳本cp到/etc/init.d目錄下並更名爲memcached,而後增長執行權限
cp memcached /etc/init.d/memcached
chmod a+x /etc/init.d/memcached

配置開啓自啓動php-fpm

chkconfig --add memcached              # 增長開啓啓動
chkconfig --level 2345 memcached on    # 設置啓動級別

測試啓動,中止,重啓memcached測試

# 服務啓動,中止
service memcached start
service memcached stop

# init.d目錄啓動,中止
/etc/init.d/memcached start
/etc/init.d/memcached stop

配置PHP支持memcached

編輯php.ini文件spa

vim /usr/local/php/etc/php.ini

# 修改如下內容
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/"

# 增長擴展到php
extension = memcache.so

從新啓動php-fpm操作系統

/etc/init.d/php-fpm restart

在php測試下是否成功debug

<?php
$memcache = new Memcache ();
$memcache->connect('192.168.25.129', 11211);
$memcache->set('key', 'test');
echo $memcache->get('key');

結果截圖( 成功輸出了緩存值 ):

圖片描述

總結

到這裏咱們memcache緩存就編譯安裝完成了,memcache是很強大的緩存系統,加油吧....若是兄弟們安裝遇到問題能夠加我QQ:418250505 你們一塊兒討論,共同進步~!

相關文章
相關標籤/搜索