サーバーにmemcachedを入れてphpから使用することがあったので、今更だけど、インストールメモ。
memcachedとは何かというと、独立したサーバプログラムで、メモリ上にデータを保持することができます。
メモリ空間を使用するので、とにかくデータの呼び出しがDBと比較して格段に早いです。
ここでは、デーモンとして常駐するmemcachedとphpから操作する為のインターフェースMemcacheモジュールをインストールします。
まずは、memcachedをインストール
wget http://www.danga.com/memcached/dist/memcached-1.2.6.tar.gz tar zxvf memcached-1.2.6.tar.gz cd memcached-1.2.6 ./configure
libeventが無いと怒られるので、yumで入れる
yum install -y libevent-devel.i386
再コンパイル
./configure make make install
んーあっさり完了。
memcached -d -m 64 -p 11211
これで立ち上げます。
psコマンドなどで動いているかを確認しましょう。
オプションの意味はこんな感じです。
-d : デーモンモード
-m 64 : 64MBのメモリをストレージとして使用する
-p 11211 : 11211番ポートで待ち受ける
ローカル環境からのアクセスのみ許可する場合はこう。
memcached -d -m 64 -p 11211 -l 127.0.0.1
そういえばrootだと起動できないです。
rootの場合は"-u nobody"のようにユーザー名を付けてください。
/etc/init.dにスクリプトを書く場合はこんな感じ
#! /bin/sh
#
# Source function library.
. /etc/rc.d/init.d/functions
# Get config.
. /etc/sysconfig/network
# Check that networking is up.
if [ ${NETWORKING} = "no" ]
then
exit 0
fi
# See how we were called.
case "$1" in
start)
echo -n "Starting memcached services: "
daemon /usr/local/bin/memcached -m 64 -p 11211 -d -u nobody
echo
touch /var/lock/subsys/memcached
;;
stop)
echo -n "Stopping memcached services: "
killproc /usr/local/bin/memcached
echo
rm -f /var/lock/subsys/memcached
;;
status)
status /usr/local/bin/memcached
;;
restart|reload)
$0 stop
$0 start
;;
*)
echo "Usage: memcached {start|stop|status|restart}"
exit 1
esac
exit 0
あとは自動起動の設定っと。
ln -s /etc/rc.d/init.d/memcached /etc/rc.d/rc2.d/S99memcached ln -s /etc/rc.d/init.d/memcached /etc/rc.d/rc3.d/S99memcached ln -s /etc/rc.d/init.d/memcached /etc/rc.d/rc5.d/S99memcached
うん。思ったより簡単でした。
次にphpから使う場合は・・・
sudo pecl install memcache
を実行すると最後に
You should add "extension=memcache.so" to php.ini
みたいなのが表示されます。
なのでphp.iniに
extension=memcache.so
を追加すればOK。
(extensionフォルダの中を見て、ちゃんとmemcache.soがある場所を指定してください。)
これで、phpからmemcacheが使えるようになりました。
細かい使用法はこのあたりでどうぞ。
http://jp2.php.net/manual/ja/book.memcache.php
関連記事
コメント:0
トラックバック:0
- この記事のトラックバックURL
- http://www.sj6.org/memcached_install_with_php/trackback/



