Hatena::ブログ(Diary)

虚心生白 RSSフィード Twitter

2007-11-30

[] Mac de memcached

クラスタリングに対応したコードコミットされるとか何とかで、ローカルアプリを起動するのにmemcachedなるものをインストールしなければならないらしい...と言う事で

...を参考に、頭を悩ませながらインストールしてみました。


下準備

  • Finderから[移動]-[フォルダへ移動...]で、/usr/local/srcに移動しようとしたら「フォルダが見つかりません」。
    /usr/local/に移動して、新規フォルダを作成すれば...と思ったらFinderからは作れなかったので、ターミナルから
     $ cd /usr/local
     $ mkdir src
    でフォルダを作成。

libeventのインストール

  1. memcachedのインストールにはlibeventと言うのが必要らしいの
    http://www.monkey.org/~provos/libevent/
    からlibevent-1.3e.tar.gzをダウンロード
  2. 下準備でこしらえたsrcフォルダにlibevent-1.3e.tar.gzを置く
  3. $ sudo tar zxvf libevent-1.3e.tar.gzで解凍
  4. $ cd libevent-1.3eに移動し
  5. $ ./configure
    $ make
    $ make install
      or
    $ ./configure && make && make install
    $ make verify
    でインストール
  6. (あんまり意味はないかもしれないけど)シンボリックリンクにしてみる
    ln -s libevent-1.3e libevent

memcachedのインストール

  1. http://www.danga.com/memcached/download.bml
    からmemcached-1.2.2.tar.gzをダウンロード
  2. /usr/local/srcに、memcached-1.2.2.tar.gzを置く
  3. $ tar zxvf memcached-1.2.2.tar.gzで解凍
  4. (再び意味はないかもしれないけど)シンボリックリンクにしてみる
    ln -s memcached-1.2.2 memcached
  5. $ cd memcachedに移動し
  6. $ ./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

#2048:メモリ容量(MB)

すると...
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〜」のメッセージが出て上手く行かない。
    もっとド素人(畑違いの人間)にも判るような書き方をしてくれよ〜。要調査だよ。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証