構築/Linux サーバ/memcached with repcached サーバ

提供: スゴイようぃっきー!

構築 / Linux サーバ / memcached with repcached サーバ


目次

概要

  • repcached を利用したサーバを構築して、PHPセッションに利用する。

前提条件

必要なパッケージのインストール

さっくりインストール

[root@Sulu ~]# yum install -y libevent-devel

ソースをget

[root@Sulu ~]# wget http://downloads.sourceforge.net/repcached/memcached-1.2.8-repcached-2.2.tar.gz
[root@Sulu ~]# cd memcached-1.2.8-repcached-2.2

configureを実施

[root@Sulu-repcache01 memcached-1.2.8-repcached-2.2]# ./configure --enable-replication

chekinstallでrpm作成

[root@Sulu-repcache01 memcached-1.2.8-repcached-2.2]# checkinstall

rpmをインストール

[root@Sulu-repcache01 memcached-1.2.8-repcached-2.2]# rpm -ivh /usr/src/redhat/RPMS/i386/memcached-1.2.8-repcached-2.2-1.i386.rpm

確認

[root@Sulu-repcache01 memcached-1.2.8-repcached-2.2]# rpm -q memcached-1.2.8-repcached
memcached-1.2.8-repcached-2.2-1

システムサービスへ登録

memcachedのyumインストール

手抜きのために通常のmemcachedをyum installしていろいろと利用させてもらいます
はじめに、RPMforgeのリポジトリを利用できるようにします。

[root@Sulu-repcache01 ~]# dist=el5
[root@Sulu-repcache01 ~]# arch=i386
[root@Sulu-repcache01 ~]# wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.1-1.$dist.rf.$arch.rpm
[root@Sulu-repcache01 ~]# rpm -Uhv rpmforge-release-0.5.1-1.$dist.rf.$arch.rpm

GPG KEYを取得

[root@Sulu-repcache01 ~]# rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt

rpm時に指定しない限り利用しないように、enableの値を0にします

[root@Sulu-repcache01 ~]# vi /etc/yum.repos.d/rpmforge.repo
enabled = 0

RPMforgeからyumを利用してmemcachedをインストール

[root@Sulu ~]# yum --enablerepo=rpmforge install memcached
  • 2010/03/20の時点
[root@Sulu-repcache01 ~]# rpm -q memcached
memcached-1.2.6-1.el5.rf

repcached用の設定

memcached with repcachedのシンボリックを作成

[root@Sulu ~]# ln -s /usr/local/bin/memcached /usr/bin/repcached

init.d用のファイルをコピー

[root@Sulu ~]# cp /etc/init.d/memcached /etc/init.d/repcached

confファイルをコピー

[root@Sulu ~]# cp /etc/sysconfig/memcached /etc/sysconfig/repcached

適宜編集

[root@Sulu ~]# vi /etc/init.d/repcached
@@ -19,18 +19,20 @@
 MAXCONN="1024"
 CACHESIZE="64"
 OPTIONS=""
-SYSCONFIG="/etc/sysconfig/memcached"
+REPOPTION=""
+SYSCONFIG="/etc/sysconfig/repcached"
+

 ### Read configuration
 [ -r "$SYSCONFIG" ] && source "$SYSCONFIG"

 RETVAL=0
-prog="memcached"
+prog="repcached"
 desc="Distributed memory caching" 

 start() {
        echo -n $"Starting $desc ($prog): "
-       daemon $prog -d -p $PORT -u $USER -c $MAXCONN -m $CACHESIZE $OPTIONS
+       daemon $prog -d -p $PORT -u $USER -c $MAXCONN -m $CACHESIZE $OPTIONS $REPOPTION
        RETVAL=$?
        echo
        [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog
@@ -59,6 +61,12 @@
        return $RETVAL
 }

+
+### for repcached -x option
+if [ $# = 2 ] ;
+  REPOPTION="-x $2"
+fi
+
+
+
 case "$1" in
   start)
        start
  • confで、REPOPTION="-x host_name"と指定するか、service repcached start host_nameとすれば、指定のホストを起動時のマスタとして指定できる。

サービスに追加

[root@Sulu ~]# chkconfig --add repcached
[root@Sulu ~]# chkconfig --level 3 repcached on

個人用ツール
Google AdSense