masalibの日記

システム開発、運用と猫の写真ブログです

centos5.11でのWEBサーバー構築:(memcached:サーバー編)

centos5.11でのWEBサーバー構築:(PHP編) - masalibの日記
の続きです

memcachedというキャッシュ機能をインストールします
DBにアクセスするより断然早いです
またmemcachedはサーバー側とクライアント側(php)のインストール
が必要です

参考サイト
http://pentan.info/server/linux/memcached.html

6・memcachedのインストール

6−1・開発ライブラリをインストールする

これがないとコンパイルでエラーなります

yum -y install libevent*
6−2・サーバー側のソースのダウンロードと解凍
cd /usr/local/src/
wget http://memcached.org/files/memcached-1.4.22.tar.gz
tar -zxvf memcached-1.4.22.tar.gz
6−3・サーバー側のソースのコンパイル
cd memcached-1.4.22
./configure --prefix=/usr/local/memcached
make
make install
6−4・サーバー側の起動用ユーザー作成

memcachedはrootでは起動しないのでユーザーを作成する

groupadd memcached
useradd -g memcached memcached

#作成されている事を確認する
cat /etc/passwd

#起動テスト
/usr/local/memcached/bin/memcached -d -u memcached -p 11211 -m 64 -vvv
6−5・サーバー側の自動起動設定
vi /etc/rc.d/init.d/memcached

下記の内容をコピペする

#!/bin/bash
#
# memcached
#
# chkconfig: 345 80 20
# description: memcached

TARGET=memcached
DST_BIN=/usr/local/memcached/bin/${TARGET}
EXEC_USER=memcached
CACHE_SIZE=64

start()
{
  echo -n "Starting ${TARGET}: "
  ${DST_BIN} -d -u ${EXEC_USER} -m ${CACHE_SIZE}
  echo
}

stop()
{
  echo -n "Shutting down ${TARGET}: "
  killall ${TARGET}
  echo
}

case "$1" in
  start)
    start
    ;;

  stop)
    stop
    ;;

  restart)
    stop
    start
    ;;

  *)
    echo "Usage: `basename $0` {start|stop|restart}" >&2
    exit 1
esac

exit 0
#作成した自動起動のパーミッションの変更をおこなう
chmod +x /etc/init.d/memcached

#自動起動に追加する
chkconfig --add memcached
chkconfig --list memcached
6−6・サーバー側のサービスの起動確認
service memcached start
service memcached stop
service memcached start


実際にmemcachedサーバーにログインしてみる

telnet localhost 11211

「stats」と入力すると

STAT pid 2966
STAT uptime 105242
STAT time 1423116636
STAT version 1.4.22
   ・
   ・

 が表示される

 終了する場合は
「quit」と入力する