構築/Linux サーバ/memcached with repcached サーバ
提供: スゴイようぃっきー!
構築 / Linux サーバ / memcached with repcached サーバ
目次 |
概要
- repcached を利用したサーバを構築して、PHPセッションに利用する。
前提条件
- 構築/Linux サーバ/CentOS 5.4で作成した仮想マシンを複製(on VMware Server / on VMware ESXi)して利用する。
必要なパッケージのインストール
さっくりインストール
[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
- ViewVCで差分を参照できます
- diff -u 結果
@@ -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
