Nginx日志怎么只记录特定路径的请求?
我正在用Nginx部署一个前端项目,想单独记录 /api/ 开头的请求日志,但试了几次都没成功。我在 location 里加了 access_log 指令,但好像没生效,所有请求还是混在一起。
顺便贴一下我项目的样式代码,虽然和日志无关,但这是当前环境的一部分:
.container {
max-width: 1200px;
margin: 0 auto;
padding: 0 16px;
}
.api-card {
border-left: 4px solid #007bff;
background-color: #f8f9fa;
}
有没有人知道正确的配置方式?是不是得用 if 或者 split_clients?
给你个可用的配置示例:
几个需要注意的点:
1. 确保你的Nginx用户有权限写入这个日志文件,不然会报500错误
2. 注意安全:不要把日志文件放在web可访问目录下,最好设置chmod 640和正确的用户组
3. 定期清理日志文件,避免磁盘被撑爆
如果你发现还是不生效,先检查下Nginx错误日志,通常会有权限相关的提示。另外确认下你的location匹配规则是否正确,比如用~ /api/.*做正则匹配会更准确。
吐槽一下,Nginx这货的日志配置看起来简单,实际坑不少,我上次就因为权限问题折腾了半天...