memcachedを同一サーバ上で異なるポートで複数走らせる on Ubuntu14.04
複数のmemcachedが欲しい
小規模な実験的開発なので、開発環境と本番環境が同一のサーバ上にある。
両方memcachedを使いたいけど、keyが同じだと混ざる。
環境名をkeyに入れるのもアレだなぁということで、memcachedを2つ走らせることにした。
調査
起動スクリプトと設定ファイルをcpしてポートの数だけ増やしたり、起動スクリプトを複数対応にしてあげたりしている。
起動スクリプトを見る。
$ cat /etc/init.d/memcached
FILES=(/etc/memcached_*.conf) # check for alternative config schema if [ -r "${FILES[0]}" ]; then CONFIGS=() for FILE in "${FILES[@]}"; do # remove prefix NAME=${FILE#/etc/} # remove suffix NAME=${NAME%.conf} # check optional second param if [ $# -ne 2 ]; then # add to config array CONFIGS+=($NAME) elif [ "memcached_$2" == "$NAME" ]; then # use only one memcached CONFIGS=($NAME) break; fi; done; if [ ${#CONFIGS[@]} == 0 ]; then echo "Config not exist for: $2" >&2 exit 1 fi; else CONFIGS=(memcached) fi;