【问题标题】:Separate PHP error logs and system logs with nginx for each virtualhost使用 nginx 为每个虚拟主机分离 PHP 错误日志和系统日志
【发布时间】:2018-07-08 06:40:39
【问题描述】:

如何设置 NGINX 以分别记录每个虚拟主机的系统错误和 PHP 错误消息。 我应该以某种方式覆盖每个虚拟主机的全局 php.ini error_log 值。 我发现了什么:

    server {
       server_name some-server.com;
       access_log /var/log/nginx/some-server.access.log;
       error_log /var/log/nginx/some-server.error.log info;
       root /var/websites/some-server/;
       fastcgi_param PHP_VALUE "error_log=\"/var/log/nginx/some-server.php-error.log\"";
    }

但是文件分配没问题,这个解决方案不起作用!

【问题讨论】:

  • 在此期间您有没有发现配置不被接受的原因?您是如何验证文件权限正常的?

标签: php nginx error-log


【解决方案1】:

您应该创建单独的虚拟主机。最佳实践告诉每个虚拟主机错误和访问日志文件应该与域名等效。例如,如果您的域是 example.com,您的日志文件应该是 example.com.log 这是完整的文档how to create 虚拟主机。 在server 块中添加以下两行与您的域名(更改某些服务器)

access_log /var/log/nginx/some-server.access.log;
error_log /var/log/nginx/some-server.error.log info;

【讨论】:

  • 嗨!我知道如何创建虚拟主机。我想要一个单独的 PHP 错误日志和每个虚拟主机的服务器错误日志文件,但我的服务器只计算 php.ini 中的 error_log 指令。这意味着所有 PHP 错误都在一个文件中(不是每个域都单独)
  • 您无需更改 php.ini 即可更改每个 VH 的错误日志文件。您应该在每个 VH 中指定日志文件。
  • 据我所知 error_log 指令为 VH 指定系统(nginx 服务器错误)日志文件。我还需要另一个日志文件,用于 PHP 错误日志(对于每个 VH)
  • 是的,好的。见以上答案:The best practice told that each virtual host error and access log file should be equivalent with domain name
  • 这样:error_log /var/log/nginx/some-server.error.log info;所有错误消息。 (nginx+PHP 错误)将进入该域的一个文件。
猜你喜欢
  • 2013-09-09
  • 2018-03-16
  • 2012-11-10
  • 2015-11-29
  • 1970-01-01
  • 1970-01-01
  • 2017-07-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多