本来は1つのコマンドで複数のプロセスを立ち上げるように、initファイルを変更すべきで、実際そういうアイディアもいくつか落ちているんだけど、正直に告白すると読んでもあんまりよく分からなかったので素直に複数のinitファイルを用意した。
参考
Running Multiple MemCache Instances | spf13.com手順は以下。
1. 設定ファイルをコピー
cp /etc/sysconfig/memcached /etc/sysconfig/memcached_2
2. 設定ファイルを変更
特に、PORTの変更は必須。デフォルトは11211だと思うので、それ以外の数字に。11212が無難か。
3. initファイルをコピー
cp /etc/init.d/memcached /etc/init./memcached_2
4. initファイルを変更
SYSCONFIG、progを変更。PORTも念のため変更。progはmemcachedになってると思うので、それ以外の名前に。memcached_2とか。これをmemcachedのままにしておくと、start、stopが上手く動かない。
5. memcachedのシンボリックリンクを作成
ln -s /usr/bin/memcached /usr/bin/memcached_2
4で設定したprog名でmemcachedのシンボリックリンクを作成する。6. 起動
sudo /etc/init.d/memcached start
sudo /etc/init.d/memcached_2 start
既に起動している場合は再起動で。正直、全く美しくないけど、3プロセス以上にする予定は今のところないので、「2プロセス動いてるよ」ってことだけ共有出来てれば良いかと…思うんだけど手抜きだろうか。こういうとき、プログラマの常識を知らない自分としては、恐らく的外れなんだろうなと不安なのだけどまぁ仕方ない。
とりあえずこれで行ってみる。
[*1] 理想の話を言えば、セッション情報はAPサーバ内のローカルmemcachedで管理し、その他の情報については別途サーバを立てるべきなのかも知れないけれども、サーバを増やせないのでこういうことに。