centos6.3上編譯安裝memcaced

一、memcached瞭解了一段時間了,一直沒有去實踐。php

    Memcached 是一個高性能的分佈式內存對象緩存系統,用於動態Web應用以減輕數據庫負載。它經過在內存中緩存數據和對象來減小讀取數據庫的次數,從而提供動態、數據庫驅動網站的速度。Memcached基於一個存儲鍵/值對的hashmap。其守護進程(daemon )是用C寫的,可是客戶端能夠用任何語言來編寫,並經過memcached協議與守護進程通訊。html

二、系統環境,centos6.3的系統。上面安裝了mysql數據庫。 mysql

三、下面開始安裝了,git

http://memcached.googlecode.com/files/memcached-1.4.15.tar.gz
https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz

四、解壓,配置,編譯,安裝github

./configure --prefix=/usr/local/libevent && make && make  install
./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent
make  && make install

五、爲memcached創建隨機啓動的服務腳本,建立/etc/init.d/memcached文件,內容:sql

#!/bin/bash
#
# Init file for memcached
#
# chkconfig: 345 60 60
# description: The memcached daemon is a network memory cache service.
#
# processname: memcached
# config: /etc/sysconfig/memcached
. /etc/rc.d/init.d/functions
[ -f /etc/sysconfig/memcached ] && . /etc/sysconfig/memcached #將memcached的參數定義設置爲獨立配置文件
## Default variables
PORT=${PORT:-11211}
USER=${USER:-nobody}
MAXCONN=${MAXCONN:-1024}
CACHESIZE=${CACHESIZE:-64}
OPTIONS=${OPTIONS:-""}
RETVAL=0
prog="/usr/local/memcached-1.4.15/bin/memcached"
desc="network memory cache service"
lockfile="/var/lock/subsys/memcached"
start() {
echo -n $"Starting $desc (memcached): "
daemon $prog -d -p $PORT -u $USER -c $MAXCONN -m $CACHESIZE $OPTIONS
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch $lockfile
return $RETVAL
}
stop() {
echo -n $"Shutting down $desc (memcached): "
killproc $prog
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f $lockfile
return $RETVAL
}
restart() {
stop
start
}
reload() {
echo -n $"Reloading $desc ($prog): "
killproc $prog -HUP
RETVAL=$?
echo
return $RETVAL
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
condrestart)
[ -e $lockfile ] && restart
RETVAL=$?
;;
reload)
reload
;;
status)
status $prog
RETVAL=$?
;;
*)
echo $"Usage: $0 {start|stop|restart|condrestart|status}"
RETVAL=1
esac
exit $RETVAL

固然也能夠借鑑官網的:數據庫

https://pressflow.atlassian.net/wiki/display/PF/Replacement+Init+Script+for+memcached+on+Debian+or+Ubuntu

 六、創建memcached參數配置文件: vim

echo -e 'PORT="11211" \nUSER="root" \nMAXCONN="1024" \nCACHESIZE="64" \nOPTIONS="" ' > /etc/sysconfig/memcached

七、添加執行權限,加入到系統服務: centos

chmod 755 /etc/init.d/memcached
chkconfig --add memcached
chkconfig memcached on
service memcached start

八、安裝到這裏已經基本結束了,咱們查看下他是否啓動了緩存

Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      7645/mysqld
tcp        0      0 0.0.0.0:11211               0.0.0.0:*                   LISTEN      2342/memcached
tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      2498/httpd
tcp        0      0 0.0.0.0:10000               0.0.0.0:*                   LISTEN      2265/perl
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      1624/sshd

九、能夠看到端口也開放了。接下來咱們就能夠安裝memadmin來管理mencache

安裝memcached的php擴展
首先到http://pecl.php.net/package/memcache下載memcache的php擴展最新穩定版本
wget http://pecl.php.net/get/memcache-2.2.5.tgz
wget http://www.junopen.com/memadmin/memadmin-1.0.12.tar.gz
tar zxvf memadmin-1.0.12.tar.gz
cd memadmin
mv * /var/www/html/memadmin
tar zxvf  memcache-2.2.5.tgz
cd memcache-2.2.5
phpize
/configure --enable-memcache --with-php-config=/usr/bin/php-config --with-zlib-dir
make  && make install

十、在php.ini文件中添加memcache擴展

vim /etc/php.d/php.ini
添加如下內容
extension_dir = "/usr/lib/php/modules/"
extension=memcache.so
檢驗memcache安裝
[root@Linux ~]#php -m
[...]
memcache
mysql
mysqli
[...]

十一、查看memcache使用狀況 

相關文章
相關標籤/搜索