最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Nginx 目录结构中的 logs 文件夹如何配置日志轮转与存放路径
时间:2026-08-30 11:14:49 编辑:袖梨 来源:一聚教程网
nginx日志路径由配置文件中的error_log和access_log指令决定,需结合工作目录判断;日志轮转须用logrotate等系统工具,通过kill -USR1通知nginx重开日志文件。
nginx 的 logs 文件夹默认存放 access.log、error.log 和 nginx.pid 等文件,但它的路径不是固定死的,而是由配置决定的;日志轮转也不能靠 nginx 自身完成,必须借助系统级工具(如 logrotate)来管理归档、压缩和清理。
确认当前日志实际存放路径
先查 nginx 主配置(通常是 /etc/nginx/nginx.conf 或 /usr/local/nginx/conf/nginx.conf),定位以下指令:
-
error_log /var/log/nginx/error.log warn;→ 错误日志路径与级别 -
access_log /var/log/nginx/access.log main;→ 访问日志路径与格式 - 若路径是相对路径(如
logs/access.log),需结合 nginx 启动时的 工作目录 判断真实位置(常见为/usr/local/nginx/logs/或/var/log/nginx/)
修改日志存放路径(可选)
如果想把日志统一移到自定义目录(比如 /data/logs/nginx),按以下步骤操作:
- 创建目标目录并授权:
sudo mkdir -p /data/logs/nginx && sudo chown nginx:nginx /data/logs/nginx - 在 http/server/location 块中更新日志路径:
access_log /data/logs/nginx/access.log main;error_log /data/logs/nginx/error.log warn; - 重载配置:
sudo nginx -t && sudo nginx -s reload
用 logrotate 配置日志轮转
推荐在 /etc/logrotate.d/nginx 创建专用配置(路径需与上一步日志路径一致):
/data/logs/nginx/*.log {dailymissingokrotate 30compressdelaycompressnotifemptysharedscriptspostrotate[ -f /run/nginx.pid ] && kill -USR1 $(cat /run/nginx.pid)endscript}
关键点说明:
-
/data/logs/nginx/*.log必须和你实际日志路径完全匹配(支持通配符) -
postrotate中的kill -USR1是关键:通知 nginx 关闭旧文件句柄、打开新日志文件 -
/run/nginx.pid路径要与 nginx 配置中的pid指令一致(如配置为pid /var/run/nginx.pid;,则此处也要改)
验证与调试
执行一次手动轮转测试,确认是否正常:
- 运行:
sudo logrotate -f /etc/logrotate.d/nginx - 检查:
ls -l /data/logs/nginx/是否生成了access.log.1或access.log.1.gz - 查看 nginx 进程是否仍在写入新的
access.log:sudo tail -f /data/logs/nginx/access.log - 若报错“no logs found”,检查路径拼写、权限(logrotate 以 root 运行,但 nginx 进程需有写权限)
相关文章
- 花小猪app如何开票 花小猪打车开票的操作做法 08-30
- excel mod函数什么意思 08-30
- Keil5如何解决printf语句打印空白问题 08-30
- TPLink TLWR885N 5153 无线路由器上网设置指南 08-30
- 情女签名如何写?30句温柔短句 08-30
- 情侣甜蜜签名如何写?30句适合日常秀恩爱的短句 08-30