把 log_format 子句放在哪里?它的语法是什么?

把 log_format 子句放在哪里?它的语法是什么?

/etc/nginx.conf 是添加修改条款的正确位置吗log_format

我在上面的 /etc/nginx.conf 中添加了以下内容access_log

log_format test '$remote_addr - $remote_user [$time_local] '
           '"$request" $status $bytes_sent '
           '"$request_uri" "$http_user_agent" ! "$server_name"';
access_log /var/log/nginx/access.log;

nginx -t说一切正常,我重启了 nginx。但是,access.log 仍然显示原始输出列。我特意放置它!以查看更改的影响,但感叹号没有显示在日志中。

log_format哪里出了问题?我的语句的语法正确吗?

$request_uri$server_name是我为调查站点配置问题而添加的附加项目。我不知道它们是否是可以在 中使用的有效变量log_format。只是试试运气。

答案1

您应该指定

access_log /var/log/nginx/access.log test ;

对于所有选项,你可以参考此文档 -ngx_http_log_模块

相关内容