[Apache] ログを$HOSTNAME毎に出し分けする

このエントリーをはてなブックマークに追加
はてなブックマーク - [Apache] ログを$HOSTNAME毎に出し分けする
Share on Facebook

目的

“server001″, “server002″, …, “serverN” すべてで共通の httpd.conf を使い、それぞれのログファイルを “log/server001/access_log”, …, “log/serverN/access_log” に吐くようにしたい。

ノード追加の度に手動でconfファイルをいちいち書き換えるのにはもううんざり。

そんな人には以下の方法をおすすめします。

やり方

Apacheディレクトリ内の envvars というファイルに記述することで、OSの環境変数を conf ファイルに渡すことができることを利用します。

1. “apache2/bin/envvars” に以下の2行を追加する

HOSTNAME="$HOSTNAME"
export HOSTNAME

2. “apache2/conf/httpd.conf” のログ出力行を編集する

#ErrorLog "logs/error_log"
ErrorLog "logs/${HOSTNAME}_error_log"

#CustomLog "logs/access_log" common
CustomLog "logs/${HOSTNAME}_access_log" common

3. Apacheを再起動する

参考

Leave a Comment


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>