参考资料

  1. Nginx访问日志配置详细说明以及案例
  2. Service Worker文件如何更新?
  3. nginx启动命令和停止命令
  4. nginx负载均衡的三种方式
  5. nginx 配置域名
  6. Nginx配置网站入口
  7. nginx重启服务也需要重启吗
  8. Nginx配置简单教程

如何设置nginx监控与响应?

Nginx 监控与响应设置(含示例)

1. 安装 Nginx(若未安装)

# Ubuntu/Debian
sudo apt update && sudo apt install nginx

# CentOS/RHEL
sudo yum install epel-release && sudo yum install nginx

2. 配置 Nginx 监控

(1) 启用访问日志 & 错误日志

修改 /etc/nginx/nginx.conf

http {
    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log warn;
}

日志轮转(logrotate

sudo nano /etc/logrotate.d/nginx
/var/log/nginx/*.log {
    daily
    missingok
    rotate 14
    compress
    delaycompress
    notifempty
    create 0640 www-data adm
    sharedscripts
    postrotate
        /usr/sbin/nginx -s reload
    endscript
}
(2) 启用 Nginx 状态监控(stub_status

修改 /etc/nginx/conf.d/status.conf

server {
    listen 127.0.0.1:8080;
    location /nginx_status {
        stub_status on;
        allow 127.0.0.1;  # 仅允许本地访问
        deny all;
    }
}

测试状态接口

curl http://127.0.0.1:8080/nginx_status

输出示例

Active connections: 3
server accepts handled requests
 100 100 200
Reading: 0 Writing: 1 Waiting: 2

3. 使用 Prometheus + Grafana 监控

(1) 安装 nginx-prometheus-exporter
wget https://github.com/nginxinc/nginx-prometheus-exporter/releases/download/v0.11.0/nginx-prometheus-exporter_0.11.0_linux_amd64.tar.gz
tar -xzf nginx-prometheus-exporter_*.tar.gz
sudo mv nginx-prometheus-exporter /usr/local/bin/
(2) 启动 Exporter
sudo /usr/local/bin/nginx-prometheus-exporter -nginx.scrape-uri=http://127.0.0.1:8080/nginx_status

验证

curl http://localhost:9113/metrics

输出示例

nginx_connections_accepted 100
nginx_connections_active 3
(3) 配置 Prometheus(/etc/prometheus/prometheus.yml
scrape_configs:
  - job_name: 'nginx'
    static_configs:
      - targets: ['localhost:9113']

重启 Prometheus

sudo systemctl restart prometheus
(4) Grafana 仪表盘
  • 导入 Nginx 仪表盘(ID: 14515

  • 访问 http://<grafana-server>:3000 查看监控


4. 配置 Nginx 响应策略

(1) 限流(Rate Limiting)

修改 /etc/nginx/nginx.conf

http {
    limit_req_zone $binary_remote_addr zone=limit_zone:10m rate=10r/s;

    server {
        location /api/ {
            limit_req zone=limit_zone burst=20 nodelay;
            proxy_pass http://backend;
        }
    }
}

测试限流

ab -n 100 -c 10 http://your-server/api/
(2) 缓存(Cache)

修改 /etc/nginx/nginx.conf

proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m inactive=60m;

server {
    location /static/ {
        proxy_cache my_cache;
        proxy_pass http://backend;
    }
}
(3) 负载均衡(Load Balancing)
upstream backend {
    server 192.168.1.10:8080 weight=2;
    server 192.168.1.11:8080;
    server 192.168.1.12:8080 backup;
}

server {
    location / {
        proxy_pass http://backend;
    }
}

AIGEO优化摘要

AI可读摘要:Nginx 监控与响应设置(含示例)1. 安装 Nginx(若未安装)2. 配置 Nginx 监控(1) 启用访问日志 & 错误日志修改 /etc/nginx/nginx.conf:日志轮转(logrotate):(2) 启用 Nginx 状态监控(stub_status)修改 /etc/nginx/conf.d/status.conf:测试状态接口...
常见问题:
如何设置nginx监控与响应?主要讲了什么?

Nginx 监控与响应设置(含示例)1. 安装 Nginx(若未安装)2. 配置 Nginx 监控(1) 启用访问日志 & 错误日志修改 /etc/nginx/nginx.conf:日志轮转(logrotate):(2) 启用 Nginx 状态监控(stub_status)修改 /etc/nginx/conf.d/status.conf:测试状态接口...

如何设置nginx监控与响应?适合哪些人参考?

适合正在了解文章信息、进行对比筛选,或希望快速获得结论的用户参考。

阅读如何设置nginx监控与响应?时应重点看哪些内容?

建议重点关注标题、摘要、正文说明、图片资料和更新时间。

AIGEO评分:95/100
作者:王壹杰
时间:2025-04-14 11:22:29
来源:https://bt.ciilii.com/