CentOS6.4にmemcachedを入れた。
vagrantで立ち上げたCentOS6.4にmemcachedを入れて
daemontoolsで起動した時の作業メモ。
必要なタスク
- memcachedのインストール
- daemontoolsのインストール
- daemontoolsの起動設定
- memcachedをdaemontoolsに登録
memcachedのインストール
依存するlibeventを先にインストール
libevent-develも入れろって書いてる記事もあったけど、
packageを落としてインストールすれば問題ないみたい。
[公式wiki]
https://code.google.com/p/memcached/wiki/NewInstallFromPackage
[安定のStack Overflow先生]
http://stackoverflow.com/questions/15380601/unable-to-install-libevent-devel
# cd /usr/local/src # wget https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz # tar zxvf libevent-2.0.21-stable.tar.gz # cd libevent-2.0.21-stable # ./configure # make # make install
memcache本体のインストール
なにごともなく終わった。
# cd /usr/local/src # wget https://memcached.googlecode.com/files/memcached-1.4.15.tar.gz # tar zxvf memcached-1.4.15.tar.gz # cd memcached-1.4.15.tar.gz # ./configure # make # make install
memcached起動を確認!
えらー。。
# memcached -v -p 11211 -U 0 -u nobody -m 1024 -t 4 -C -B ascii # memcached: error while loading shared libraries: libevent-2.0.so.5: cannot open shared object file: No such file or directory
「libevent-2.0.so.5」へのリンクを作れば解決。
とりあえず単体で起動した。
# ln -s /usr/local/lib/libevent-2.0.so.5 /usr/lib64/libevent-2.0.so.5
daemontoolsをインストール
公式サイトに従った。
http://cr.yp.to/daemontools/install.html
# mkdir -p /package # chmod 1755 /package # cd /package # # wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz # tar zxvf daemontools-0.76.tar.gz cd admin/daemontools-0.76 # package/install # /usr/bin/ld: errno: TLS definition in /lib64/libc.so.6 section .tbss mismatches non-TLS reference in envdir.o /lib64/libc.so.6: could not read symbols: Bad value collect2: ld returned 1 exit status make: *** [envdir] Error 1
またエラー出たのでコンパイルのオプションを修正する
[参考]
http://qiita.com/smd8122@github/items/8f625922aba58ae08aef
daemontoolsの起動修正
CentOS6系だと、そのままではsvscanが動かないので直す。
[参考]
http://wp.kaz.bz/tech/2011/07/13/898.html
まとめ
環境構築大変すぎワロタ。
こんな手順メモをまとめておくの効率悪いから
Chefのレシピにして管理すれば良い、というのが分かった。
あとdaemontoolsを検索すると仮想ドライブのソフトが大量に引っかかってイライラしますね^^