定位性能瓶颈
awk分析响应时间字段(需日志包含$request_time),找出耗时超过1秒的慢请求:awk '$NF > 1 {print $7, $NF}' /var/log/nginx/access.log | sort -nr | head -n 10。awk '$9 >= 400 {print $9, $7}' /var/log/nginx/access.log | sort -nr | uniq -c。流量与资源监控
awk '{print $7}' /var/log/nginx/access.log | sort | uniq -c | sort -nr | head -n 20。awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -nr | head -n 10。系统参数调优
echo "net.ipv4.tcp_tw_reuse=1" >> /etc/sysctl.conf
echo "net.core.somaxconn=65535" >> /etc/sysctl.conf
sysctl -p
```。
echo "fs.file-max=1000000" >> /etc/sysctl.conf
ulimit -n 1000000
```。
Nginx配置优化
sendfile和tcp_nopush,减少数据拷贝开销:http {
sendfile on;
tcp_nopush on;
}
```。
location ~* \.(jpg|css|js)$ {
expires 30d;
access_log off;
}
```。
server {
listen 443 ssl http2;
}
```。
负载与资源管理
upstream模块将请求分发到多台后端服务器,缓解单点压力:upstream backend {
server 192.168.1.1:8080;
server 192.168.1.2:8080;
}
location / {
proxy_pass http://backend;
}
```。
limit_req_zone $binary_remote_addr zone=one:10m rate=5r/s;
location / {
limit_req zone=one burst=10;
}
```。
GoAccess生成可视化报告,支持按时间、URL、状态码等多维度统计。通过日志分析定位问题后,针对性调整系统参数和Nginx配置,可显著提升CentOS服务器的性能和稳定性。