2008/6/2 月曜日 by kouichi
ログ周りやバックアップ周りを見直しました。
まず、Tomcatのログをローテートする設定にしました。
catalina.shを
org.apache.catalina.startup.Bootstrap "$@" start \
>> "$CATALINA_BASE"/logs/catalina.out 2>&1 &を
org.apache.catalina.startup.Bootstrap "$@" start \
| /usr/sbin/rotatelogs "$CATALINA_BASE"/logs/catalina.out.%Y%m%d 86400 2>&1 > /dev/null &
# >> "$CATALINA_BASE"/logs/catalina.out 2>&1 &に変更。
これで日付ごとにcatalina.outのファイルが分割されます。
mysqlのバックアップを
#!/bin/sh
BASE_DIR=バックアップスクリプトフォルダ
#DB設定
DB=DB名
SERVER=DBサーバ
USER=ユーザー名
PASS=パスワード
#一時保存ダンプファイル名
TEMP=$BASE_DIR/mono.dump
#バックアップフォルダ
BACKUP_DIR=$BASE_DIR/dump
#バックアップファイル名
DT=`date +%Y%m%d`
BACKUP_FILE=$BASE_DIR/dump/mono.$DT.tgz
mysqldump -u $USER -p$PASS -h $SERVER $DB > $TEMP
echo $BACKUP_FILE
tar -zPcf $BACKUP_FILE $TEMP
rm $TEMP
find $BACKUP_DIR -type f -name "*.tgz" -ctime +6 -exec rm -f {} \;↑で7日分DBのバックアップが保存されます。
find $BACKUP_DIR -type f -name "*.tgz" -ctime +6 -exec rm -f {} \;は、他でも使いまわせそうなので覚えておくと便利かと思います。
Posted in Tomcat, サーバ関連 | No Comments
2008/4/25 金曜日 by kouichi
最近Cometについての話題が出たので調べました。
こういうことなわけですが、HTTPのコネクションをはりっぱなしにして、擬似的にサーバからデータをPushする技術です。
こういうことを考える人は目の付け所がすごいですね。尊敬します。
実際はTomcat6でCometのエンジンが載っているので、実装自体は結構容易です。
こちらやこちらにサンプルがあるので、参考になると思います。
ただ、サンプルはホントにHTTPのStreamを開きっぱなしなのでmod_proxyを経由する場合に都合が悪く、Tomcatに直接アクセスするとOKですが、Apache経由だとレスポンスが表示されないという問題がありました。
プログラムとして改良するならば、Ajaxのリクエストをつなげておいて、そのレスポンスでチャットの文字列を返す、つなぎなおす、つなげる、返す、、、という方法が取れると思います。
ただ、この場合データを受け取ったときに一度コネクションが切れてしまうのでタイミングがクリティカルな場合には工夫が必要と思います。
どっちにしろタイムアウトのケアとかも考えないといけないので、そのあたりの作りは単純化できそうな気がします。
一応上記のサンプルソースとディプロイファイルをあげておきます。
comet.zip
Lingrを作った方のブログにも書いていましたが、チャットのレスポンスがストレスないなどサービスを使う側のメリット、サーバやネットワークリソースの軽減など作る側のメリット、知っているといろいろうまみがありそうです。
Posted in Java, Tomcat, サーバ関連 | No Comments
2008/3/28 金曜日 by kouichi
こちらのようにmod_rewriteを使って動的URLを静的に見せる方法がありますが、mod_proxyを使った場合は、
RewriteEngine on
RewriteRule ^/([a-z]*)/([0-9]*)/([0-9]*)/$ balancer://ajp-balancer/yyy/xxx.jsp?a=$1&b=$2&c=$3 [P,L]
のようにします。
ポイントは2つ。
ひとつはリライト先のURLがajpプロトコルになっています。
上だとbalancer://ですが、バランサーを使わない場合はajp://になると思います。
もうひとつは[P]オプションをつけること。
proxyを使うのだから言わずもがなかも知れませんが、[P]をつけないと最終的にブラウザに表示されるURLがリダイレクト先のURLになってしまいます。
Posted in Tomcat, サーバ関連 | No Comments