跳到主要內容

Win32 平台 Apache2.2 Log檔簡易設定教學

預設的apache會將所有的access紀錄都存放於access.log,
error紀錄都存放於error.log,
當伺服器運行時間一長,access的紀錄會越來越多,可能一天的紀錄就有可能超過1GB以上,
為了讓log檔案的大小不要過度膨脹,影響伺服器的穩定、效能,
所以控制log紀錄檔的大小,有助於提升伺服器的穩定度。
如果你是用Apache2.2以後的版本,
你可以在apache安裝目錄內找到bin資料夾,
內含一個執行檔 rotatelogs.exe
該程式的使用參數請參考:http://httpd.apache.org/docs/2.0/programs/rotatelogs.html
在apache的預設設定檔中
  • ErrorLog "logs/error.log"
  • CustomLog "logs/access.log" common
這兩個參數就是預設log紀錄存放的檔案路徑,
將這兩個設定分別設定為
  • ErrorLog "|bin/rotatelogs.exe -l N:/logs/error/error-%Y-%m-%d.log 86400"
  • CustomLog "|bin/rotatelogs.exe -l N:/logs/access/access-%Y-%m-%d.log 86400" common
這樣log紀錄會每86400秒(一天),就做切檔的動作,記錄到N:/下指定的位置,檔名會依日期命名
你也可以這樣設定
  • ErrorLog "|bin/rotatelogs.exe -l N:/logs/error/error-%Y-%m-%d.log 100M"
  • CustomLog "|bin/rotatelogs.exe -l N:/logs/access/access-%Y-%m-%d.log 100M" common
這樣log每天最大紀錄100MB,檔名會依日期命名
如果你是用vhosts設定虛擬伺服器,記得也要對每個虛擬伺服器作分開的設定喔!

留言