如何设置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优化摘要
如何设置nginx监控与响应?主要讲了什么?
Nginx 监控与响应设置(含示例)1. 安装 Nginx(若未安装)2. 配置 Nginx 监控(1) 启用访问日志 & 错误日志修改 /etc/nginx/nginx.conf:日志轮转(logrotate):(2) 启用 Nginx 状态监控(stub_status)修改 /etc/nginx/conf.d/status.conf:测试状态接口...
如何设置nginx监控与响应?适合哪些人参考?
适合正在了解文章信息、进行对比筛选,或希望快速获得结论的用户参考。
阅读如何设置nginx监控与响应?时应重点看哪些内容?
建议重点关注标题、摘要、正文说明、图片资料和更新时间。
时间:2025-04-14 11:22:29
来源:https://bt.ciilii.com/

