2007-11-30
■[memo] Mac de memcached
クラスタリングに対応したコードがコミットされるとか何とかで、ローカルでアプリを起動するのにmemcachedなるものをインストールしなければならないらしい...と言う事で
- FFTT : memcached(特に、起動オプションの説明)
- memcachedをインストール(導入)する - めも帖
- memcachedを知り尽くす:第1回 memcachedの基本|gihyo.jp … 技術評論社
- FIGHT! THE RAWHIDE★ » トイスタでmemcache!
- ベイエリア情報局: Mac OS X に memcached をインストールして launchd で自動起動するようにした
...を参考に、頭を悩ませながらインストールしてみました。
下準備
- Finderから[移動]-[フォルダへ移動...]で、/usr/local/srcに移動しようとしたら「フォルダが見つかりません」。
/usr/local/に移動して、新規フォルダを作成すれば...と思ったらFinderからは作れなかったので、ターミナルから
$ cd /usr/local
$ mkdir src
でフォルダを作成。
libeventのインストール
- memcachedのインストールにはlibeventと言うのが必要らしいの
http://www.monkey.org/~provos/libevent/
からlibevent-1.3e.tar.gzをダウンロード - 下準備でこしらえたsrcフォルダにlibevent-1.3e.tar.gzを置く
- $ sudo tar zxvf libevent-1.3e.tar.gzで解凍
- $ cd libevent-1.3eに移動し
- $ ./configure
$ make
$ make install
or
$ ./configure && make && make install
$ make verify
でインストール - (あんまり意味はないかもしれないけど)シンボリックリンクにしてみる
ln -s libevent-1.3e libevent
memcachedのインストール
- http://www.danga.com/memcached/download.bml
からmemcached-1.2.2.tar.gzをダウンロード - /usr/local/srcに、memcached-1.2.2.tar.gzを置く
- $ tar zxvf memcached-1.2.2.tar.gzで解凍
- (再び意味はないかもしれないけど)シンボリックリンクにしてみる
ln -s memcached-1.2.2 memcached - $ cd memcachedに移動し
- $ ./configure && make && make install
でインストール
すると...
configure: error: libevent is required. You can get it from http://www.monkey.org/~provos/libevent/
If it's already installed, specify its path using --with-libevent=/dir/
...なエラーが。
$ sudo suで、スーパーユーザーになってなかったり、インストールが不完全な時にでるらしい(正確な原因は謎)。
# リンクを張り替える時は、ln -snf memcached-1.2.4 memcached
環境変数の設定(追記: 20090816)
$ echo export LD_LIBRARY_PATH=/usr/local/lib/ >> .bash_profile
.bash_profileに「 echo export 〜」が追加されていればOK
memcachedの起動
$ memcached -d -m 2048 -l 127.0.0.1 -p 11211 -u username
すると...
bind(): Address already in use
failed to listen
...のメッセージが。
とりあえずOS再起動して再度試したら出なかった(こんな解決方法で良かったのか?)。
#「-u username」の指定が必要なのは、rootの時らしい。
# OSを再起動すると自動起動ではない(設定していないから)ので、毎回手動での起動が必要。
#起動の確認はプロセスコマンド(ex.$ ps aux ※オプションは「プロセス管理コマンド」あたり参照)でmemcachedがあれば(ex. grep mem)OK?
# 起動の確認とかプロセスからの停止方法とか「500 Internal Server Error」も参考になる?
memcachedの終了(追記: 20090816)
$ sudo killall memcache
自分向け今後の課題(=今後追記)
- [削除: 20090816] ↑手順に追加
途中、行き詰まって
$ export LD_LIBRARY_PATH=/usr/local/lib/
などと、分けも判らず環境変数を設定したりしてみたけど、必要なのか不明。別のMacにインストールする機会があったら、要再確認。
→どうやら必要だったらしい。結局、「memcached :: PHP [bamblog] | srif9920.net」のやり方そのまんまで、再度インストールし直す。
- 「memcacheのインストール時に-m 2048のオプションをつけてください」とのお達しが...。
memcachedをインストール済み&サービス実行中だとアンインストールできないらしく
$ net stop "memcached Server"
$ cd [memcached.exeのあるディレクトリ]
$ memcached -d uninstall
$ memcached -d install -m 2048
$ net start "memcached Server"
とすれば良い的な事がアナウンスされたんだけど、またまた「bind(): Address already in use〜」のメッセージが出て上手く行かない。
もっとド素人(畑違いの人間)にも判るような書き方をしてくれよ〜。要調査だよ。


