Nginx配置文件详解【20260611】002篇
文章目录
- 0)前置结论(避免走弯路)
- 1)核心配置骨架(反向代理 + 负载均衡 + 高并发)
- 1.1 nginx.conf(侧重连接数与代理稳定性)
- 1.2 upstream.conf(负载均衡 + upstream keepalive)
- 1.3 vhost(反向代理实战写法)
- 为什么强调这几行(面试/事故复盘常点名)
- 2)慢请求:定义 + 记录 + 统计 Top10(不用搜索工具)
- 2.1 你在日志里已经有了“尺子”
- 2.2 “慢请求”取数口径(建议你固定一种)
- 2.3 提取 Top10 慢 URI(awk,单机就能跑,最稳)
- 2.4 “慢请求”要不要单独写 slow.log?(务实边界)
- 3)日志切割(logrotate,生产标配)
- 3.1 /etc/logrotate.d/nginx_proxy(示例)
- 4)备份/压缩/归档(长期保存慢请求分析依据)
- 4.1 典型的“冷归档目录”
- 4.2 每天 cron(示例:把今日切割完的老日志二次归档 + 生成慢摘要)
- 5)“对接 ELK / Filebeat”的最简接入点(不把复杂度暴露给 Nginx)
- 6)你现在可以直接落地的检查清单 ✅
下面给你一套偏“反向代理 / 负载均衡”的生产向 Nginx 配置与日志体系。
目标不是“能跑”,而是:
- 扛大流量、高并发(连接模型 / 缓冲区 / 超时 / upstream keepalive)
- 可定位性能问题(慢请求定义清晰、可统计 Top10 URI)
- 可运维(切割、压缩备份、可回溯)
- 同时给你ELK/Filebeat 的“最小侵入接入点”(但你说的“不要用搜索工具”我也尊重:主分析走文本/脚本就够了)
0)前置结论(避免走弯路)
- Nginx 本身不适合做“实时复杂聚合/TopN”(那是 ES/Loki 的事)。
- 但 Nginx 能做到:
- 把“慢请求证据”写进 access log(request_time、upstream_response_time)
- 再用awk / sort / uniq这种“无搜索工具”的方式,稳定得出Top10 慢 URI
- 真正的“慢”通常看两把尺子:
request_time:客户端视角(含网络、下载时间)upstr
