通过Debian Nginx日志监控网站流量可以通过以下几种方法实现:
upstream primary_backend {
server 192.168.31.121:8080;
keepalive 16;
}
upstream mirror_backend {
server 192.168.31.121:9090;
keepalive 16;
}
server {
listen 80;
server_name 192.168.31.120;
# 镜像请求使用单独的日志
log_format mirror_log '$time_iso8601 [Mirror] "$request" ''Sent to: $upstream_addr Status: $status';
access_log /var/log/nginx/mirror.log mirror_log;
# 配置流量镜像规则(镜像所有请求)
location / {
# 镜像配置
mirror /mirror;
mirror_request_body on; # 复制请求体(支持POST/PUT)
mirror_rate_limit 1000r/s; # 限制镜像请求速率(按需调整)
# 主请求代理配置
proxy_pass http://primary_backend;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_send_timeout 10s;
proxy_read_timeout 10s;
}
# 镜像请求的内部处理(不可外部访问)
location = /mirror {
internal; # 关键!禁止直接访问此路径
proxy_pass http://mirror_backend$request_uri;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 2s;
proxy_send_timeout 5s;
proxy_read_timeout 5s;
proxy_next_upstream error timeout invalid_header;
}
}
Nginx提供了一个默认的监控模块,可以查看服务器的状态信息。
server {
listen 80;
server_name localhost;
location /nginx_status {
stub_status on;
access_log off;
allow 192.168.31.0/24; # 限制访问IP,根据需要deny all;
}
}
通过上述方法,您可以有效地监控和管理Debian Nginx服务器的流量和性能,确保服务的稳定运行。