以前は yum でサクッとインストールできたと記憶しているのだけど、今は yum でインストールできないようなので、ソースからインストールしました。手間がかかったので、次回へのメモとして、ログを残しておきます。
まず、memcached が使うイベント通知APIの libevent のバージョンを確認。
# rpm -q libevent libevent-1.1a-3.2.1
1.1系と古いので、新しいものを入れます。ソースは公式サイトから、安定版のうち最新のものを持ってきます
# cd /usr/local/src # wget http://www.monkey.org/~provos/libevent-1.4.13-stable.tar.gz # tar xvfz libevent-1.4.13-stable.tar.gz # cd libevent-1.4.13-stable # ./configure --prefix=/usr/local/libevent # make # make install
続いて、 memcached をインストールします。ソースは公式サイトから。
# cd /usr/local/src # wget http://memcached.googlecode.com/files/memcached-1.4.5.tar.gz # tar xvfz memcached-1.4.5.tar.gz # cd memcached-1.4.5 # ./configure --with-libevent=/usr/local/libevent/ # make # make install
起動コマンドを作ってサービス登録します。といっても、そのままコピーですが。キャッシュ容量やポート番号を変えるなどしたい場合は、このスクリプトのなかをいじりましょう。
# cp /usr/local/src/memcached-1.4.5/script/memcached.sysv /etc/rc.d/init.d/memcached # chkconfig --add memcached # chkconfig --list memcached
用意が整ったところで、起動します。
# /etc/rc.d/init.d/memcached start
ここで、起動せずに次のようなエラーが出ることがあります。
memcached: error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or directory
今回は libevent を /usr/local/libevent にあるものを使うため、ldconfig してあげなければいけませんでした。
# echo "/usr/local/libevent/lib" > /etc/ld.so.conf.d/libevent.conf # ldconfig
このあと起動すれば、問題なく立ち上がると思います。動作確認をします。
$ telnet localhost 11211 stats STAT pid 11440 STAT uptime 71 STAT time 1272779578 STAT version 1.4.5 STAT pointer_size 32 STAT rusage_user 0.000000 STAT rusage_system 0.010000 STAT curr_connections 10 STAT total_connections 11 STAT connection_structures 11 STAT cmd_get 0 STAT cmd_set 0 STAT cmd_flush 0 STAT get_hits 0 STAT get_misses 0 STAT delete_misses 0 STAT delete_hits 0 STAT incr_misses 0 STAT incr_hits 0 STAT decr_misses 0 STAT decr_hits 0 STAT cas_misses 0 STAT cas_hits 0 STAT cas_badval 0 STAT auth_cmds 0 STAT auth_errors 0 STAT bytes_read 7 STAT bytes_written 0 STAT limit_maxbytes 67108864 STAT accepting_conns 1 STAT listen_disabled_num 0 STAT threads 4 STAT conn_yields 0 STAT bytes 0 STAT curr_items 0 STAT total_items 0 STAT evictions 0 STAT reclaimed 0 END
stats と打つとステータスが、バーっと流れるので確認しましょう。プロンプトを抜けるときには、いつもどおりで quit と打てば OK。
最近セットアップを自動化しているせいで、こうしてソースから入れるのは2年ぶりくらい。ldconfig とか忘れてしまっていて、やり方を思い出すのに、ムダに時間かかってしまいました。うーむ。
以上、おつかれさまでした。