Mac OS X に memcached をインストールして launchd で自動起動するようにした

| | トラックバック(1)

Mac のパッケージ管理には fink を使ってて、fink にないパッケージはソースからインストールするという方針でやってます。 memcached は fink で用意されてないのでインストールしてみました。

libeventをインストール

memcached をインストールしようとしたら libevent がないと言われたので、まずは libevent をインストール。

% ./configure --prefix=/opt/libevent
% make
% sudo make install

ソースからインストールするパッケージはすべて /opt/package にインストールするという方針でやってます。 こうしないと簡単にアンインストールできなくて、インストールしたソフトウェアの管理が簡単にできないので。

memcached のインストール

./configure を実行する前に /opt/libevent/lib を環境変数 LD_LIBRARY_PATH に /opt/libevent/include を環境変数 C_INCLUDE_PATH に通しておきます。 こうしないとインストールした libevent が見つからないのでコンパイルに失敗します。

% source ~/.zsh/.zlogin

環境変数はいつも自動で設定しているので、.zlogin を読み込み直すだけで OK。

% ./configure --prefix=/opt/memcached
% make
% sudo make install

インストール完了。 起動して問題ないか確認してみる。

% source ~/.zsh/.zlogin
% memcached

うまくいってるようだ。

launchd で自動起動の設定

Mac OS X 10.4 で導入されたらしい launchd を使ってみる。 ユーザ個別の設定は $HOME/Library/LaunchAgents に XML 形式のファイルを置くといいみたい。 man launchd.plist すると詳しい説明が出てきます。

memcached.plist を作る。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0"><dict>
        <key>Label</key>
        <string>memcached</string>
        <key>OnDemand</key>
        <false/>
        <key>ProgramArguments</key>
        <array>
                <string>/opt/memcached/bin/memcached</string>
                <string>-m 32</string>
        </array>
</dict>
</plist>

launchd に登録する

% launchctl load -w Library/LaunchAgents/memcached.plist
% launchctl list
memcached
% ps x|grep memcached 
 6286  ??  Ss     0:00.07 /opt/memcached/bin/memcached -m 32

ちゃんと登録されて実行されている。

launchd への登録は別にコマンドで実行しなくてもログインしなおすと登録されるようです。

わからないこと

ログアウトしても memcached が実行されたままになってる。 例えばログアウトして他のユーザでログインした場合は memcached を起動しないようにしたいんだが、どうすればいいのかよくわからない。 まあ、どうせ自分でしか使わないのでこれでよしとする。

トラックバック(1)

このブログ記事を参照しているブログ一覧: Mac OS X に memcached をインストールして launchd で自動起動するようにした

このブログ記事に対するトラックバックURL: http://blog.bz2.jp/bz2mt/mt-tb.cgi/164

Mac OS X のライブラリの形式は Mach-O という形式らしい。 Mac... 続きを読む

ウェブページ

Powered by Movable Type 4.21-ja

このブログ記事について

このページは、masatoが2006年10月 9日 16:41に書いたブログ記事です。

ひとつ前のブログ記事は「Mac OS X では xinetd の代わりに launchd を使う」です。

次のブログ記事は「Mac OS X のライブラリの形式は ELF ではなく Mach-O らしい」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。