2013年4月23日火曜日

Tomcat / Jettyの環境変数の設定

ついついcatalina.shなど起動シェルに直書きしてしまいがちですが、そんなのが許されるの(ry
Tomcat、Jettyについて、それぞれ以下のように行うのが望ましいです。

◯Tomcat
Tomcat付属のcatalina.sh、もしくはdaemon.shには、以下のような行があります。
if [ -r "$CATALINA_BASE/bin/setenv.sh" ]; then
  . "$CATALINA_BASE/bin/setenv.sh"
elif [ -r "$CATALINA_HOME/bin/setenv.sh" ]; then
  . "$CATALINA_HOME/bin/setenv.sh"
fi
環境変数 $CATALINA_BASE、もしくは$CATALINA_HOME配下の"/bin/setenv.sh"を読み込むようになっています。
パッケージ配布されたものを展開した際にはこちらのファイルは存在しないので、所定の場所にsetenv.shを作成し、その中で環境変数の設定を行うようにしてあげれば、OKです。

◯Jetty
Jetty付属のstart.shには、以下のような行があります。
ETC=/etc
if [ $UID != 0 ]
then
  ETC=$HOME/etc
fi

for CONFIG in $ETC/default/jetty{,9} $HOME/.jettyrc; do
  if [ -f "$CONFIG" ] ; then
    readConfig "$CONFIG"
  fi
done

  • /etc/default/jetty
  • ${HOME}/.jettyrc
の順番に設定を読みにいくようです。ちなみにreadConfigはjetty.sh内に記載されている設定読み込み用の関数です。
readConfig()
{
  (( DEBUG )) && echo "Reading $1.."
  source "$1"
}
全体定義についてはetcの下に置き、ユーザー固有の設定についてはシェル実行ユーザーの{user_home}/.jettyrcに記載する、という形が良いのだと思います。


2013年4月16日火曜日

wget / ab でproxyを設定して接続を行う

メモ

wget
wget -e "http_proxy=http://proxy.server.de:8080" http://www.yahoo.co.jp/

ab
ab -n 1 -c 1 -X proxy.server.de:8080 http://www.yahoo.co.jp/



2013年4月9日火曜日

EC2のインスタンスに割り当てられているPublic IP ならびに Local IPを取得する方法

当該インスタンスにログインした上で以下。
wget -qO- http://instance-data/latest/meta-data/public-ipv4
wget -qO- http://instance-data/latest/meta-data/local-ipv4
Local IPに関しては"/sbin/ifconfig"でも確認できますね。

vagrantで立ち上げたインスタンスとSCPでやりとりする

そういえばどうするんだろう?という風に悩みましたが、以下の手順で行えます。
以下は"vagrant up"実施済みを想定しています。
vagrant ssh-config > .vagrant.ssh.config
scp -F .vagrant.ssh.config default:/hoge/fuga ./
"ssh-config"というコマンドで、vagrantで立ち上げたインスタンスに対するsshのconfig情報が取得出来ます。
Host default
  HostName ****
  User root
  Port 22
...
ホスト名はデフォルトでは"default"になっているようです。