.vhost で指定して、httpd.conf ファイルの ErrorLog の場所を上書きしようとしていますが、ファイルを作成するだけで、まだ .conf ファイルに書き込んでいます。
httpd.conf ファイルに次のものがあります。
# ErrorLog: The location of the error log file.
# If you do not specify an ErrorLog directive within a <VirtualHost>
# container, error messages relating to that virtual host will be
# logged here. If you *do* define an error logfile for a <VirtualHost>
# container, that host's errors will be logged there and not here.
#
ErrorLog "logs/error.log"
# Virtual hosts
Include conf/vhosts/xyz_apache.vhost
次に、これを xyz_apache.vhost ファイルに (1 行で) 記述します。
ErrorLog "C:/Program Files (x86)/Apache Software Foundation/
Apache2.2/logs/xyzerrors.log"
Apache を起動し、logs ディレクトリを調べて何が作成されたかを確認すると、空白の xyzerrors.log ファイルと、起動メッセージが含まれる error.log ファイルが表示されます (「ポート 80 でリッスンするスレッドを開始しています」など)。
なぜこれが起こっているのか、またはどのように修正できるかについてのアドバイスはありますか? xyzerrors.log ファイルは明確に作成されているため、ファイル パスと「ErrorLog」のスペル、vhost 構成、および明らかなすべての部分が正しいようです。しかし、それは私のhttpd.confで指定されたファイルに書き込んでいます.vhostで指定されていない場合、私が正しく理解している場合、これはバックアップの場所にすぎないはずです。どうにかしてアクセス許可が問題になるのではないかと思いました (作成した xyzerror.log への書き込みアクセス権がなかったため、代わりに error.log に書き込みましたか?)、両方のファイルが同じディレクトリにあります。私が見逃した別の構成要素はありますか?
.conf ErrorLog の名前を変更し、.vhost ErrorLog を削除して何が起こっているかを確認したところ、.vhost ログが作成され、.conf ログが作成されて書き込まれていることがわかりました。Linuxで同様のセットアップを問題なく実行しています。
更新:これは別の作品です。lxml の問題を修正していたところ (エラーが発生し、新しいバージョンをインストールしてから apache を再起動しました)、xyzerror.log にいくつかのメッセージが表示されていることに気付きました。外観は次のとおりです。
エラーログ
[Wed Oct 09 09:14:52 2013] [notice] Child 42900: Starting thread to listen on port 80.
[Wed Oct 09 09:48:11 2013] [error] ERROR:django.request:Internal Server Error: /admin/
[Wed Oct 09 09:48:11 2013] [error] Traceback (most recent call last):
[Wed Oct 09 09:48:11 2013] [error] ImportError: DLL load failed: A dynamic link library (DLL) initialization routine failed. (Rest of traceback omitted)
[Wed Oct 09 09:54:50 2013] [notice] Parent: Received shutdown signal -- Shutting down the server.
Apache server interrupted...
Apache server interrupted...
Apache server interrupted...
Apache server interrupted...
Apache server interrupted...
Released the start mutex
[Wed Oct 09 09:54:52 2013] [notice] Child 42900: All worker threads have exited.
[Wed Oct 09 09:54:52 2013] [notice] Child 42900: Child process is exiting
[Wed Oct 09 09:54:52 2013] [notice] Parent: Child process exited successfully.
[Wed Oct 09 09:54:53 2013] [warn] mod_wsgi: Compiled for Python/2.7.
[Wed Oct 09 09:54:53 2013] [warn] mod_wsgi: Runtime using Python/2.7.2.
[Wed Oct 09 09:54:53 2013] [notice] Apache/2.2.22 (Win32) mod_wsgi/3.3 Python/2.7.2 configured -- resuming normal operations
[Wed Oct 09 09:54:53 2013] [notice] Server built: Jan 28 2012 11:16:39
[Wed Oct 09 09:54:53 2013] [notice] Parent: Created child process 40284
[Wed Oct 09 09:54:53 2013] [warn] mod_wsgi: Compiled for Python/2.7.
[Wed Oct 09 09:54:53 2013] [warn] mod_wsgi: Runtime using Python/2.7.2.
[Wed Oct 09 09:54:53 2013] [notice] Child 40284: Child process is running
[Wed Oct 09 09:54:53 2013] [notice] Child 40284: Acquired the start mutex.
[Wed Oct 09 09:54:53 2013] [notice] Child 40284: Starting 64 worker threads.
[Wed Oct 09 09:54:53 2013] [notice] Child 40284: Starting thread to listen on port 80.
xyzerror.log
[Wed Oct 09 09:47:54 2013] [info] [client 127.0.0.1] mod_wsgi (pid=42900, process='', application='XYZ.sysname.mydomain.local|'): Loading WSGI script 'C:/Users/etc/etc/XYZ_wsgi.py'.
[Wed Oct 09 09:48:11 2013] [error] [client 127.0.0.1] client denied by server configuration: C:/Users/etc/etc/site_media
これらは ErrorLog メッセージではないので、CustomLog 設定を調査する必要があるのでしょうか? それらと同様の動作が見られます(xyzaccess.logファイルが書き込まれていますが、.confのaccess.logが書き込まれています)が、簡単にするためにここには含めませんでした.
更新 2:
サイトを閲覧し続けてログ ファイルを確認すると、最終的にログが vhost の場所にある xyzerror.log (および xyzaccess.log) に書き込まれていることがわかります。最初の起動メッセージ (「ポートをリッスンしています..」など) と 1 つのサイト関連のエラーのみが conf の場所にありました。
誰かが解決策を説明または提案できますか?
アパッチ 2.2/Windows 7/ジャンゴ 1.5/Python 2.7