更改 wsgi 和 apache 的 sys.stderr 位置?
我使用 httpd.conf 中的以下行将 Apache2 错误记录在自定义位置(即不是 /var/log/apache2/error.log):
ErrorLog /custom/path/to/error.log
但是,当我使用 mod_wsgi 为 django 应用程序提供服务时,该位置的 stderr 输出仍然被转储到 /var/log/apache2/error.log。
我的 apache2 错误被转储到自定义位置,但我的 python 错误仍然被转储到默认位置。如何将所有内容转储到自定义位置?
I am logging Apache2 errors in a custom location (i.e. not /var/log/apache2/error.log) using the following line in httpd.conf:
ErrorLog /custom/path/to/error.log
However, when I use mod_wsgi to serve a django application, the stderr output from that still gets dumped to /var/log/apache2/error.log.
My apache2 errors get dumped in the custom location, but my python errors still get dumped in the default location. How do I get everything to dump in the custom location?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
为了得到你想要的,你需要使用 mod_wsgi 守护进程模式。另外,需要在您指定了 ErrorLog 指令的 VirtualHost 中指定 WSGIDaemonProcess/WSGIProcessGroup 指令。最后,您需要使用 mod_wsgi 3.0+,而不是一些 Linux 发行版仍然提供的现在相当旧的 mod_wsgi 2.0+。
满足这些条件,您仍然无法解决问题,然后将问题发布到 mod_wsgi 邮件列表。
To get what you want you need to be using mod_wsgi daemon mode. Plus, the WSGIDaemonProcess/WSGIProcessGroup directives need to be specified within the VirtualHost where you have specified the ErrorLog directive. Finally you need to be using mod_wsgi 3.0+ and not the now quite old mod_wsgi 2.0+ that some Linux distributions still provide.
Satisfy those conditions and you still can't get it going then post the problem to the mod_wsgi mailing list.