查看缓存大小:
du -sh /usr/local/nginx/cache/proxy
下载清理缓存脚本
cd /usr/local/bin && curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/clean_nginx_cache.sh && chmod +x clean_nginx_cache.sh
定时任务: 每周日凌晨3点执行
(crontab -l ; echo "0 3 * * 0 /usr/local/bin/clean_nginx_cache.sh") | crontab -
开启了cf cdn如何获取真实ip
pip3 install requests
wget https://raw.githubusercontent.com/woniu336/cf-cdn-s/main/update_cloudflare_ips.py
chmod +x update_cloudflare_ips.py
python3 update_cloudflare_ips.py
定时任务
(crontab -l ; echo "0 0 */15 * * python3 update_cloudflare_ips.py >/dev/null 2>&1") | crontab -
RPS分析
wget https://raw.githubusercontent.com/woniu336/cf-cdn-s/main/analyze_rps.py
检测
python3 analyze_rps.py /data/wwwlogs/111.com.access.log
按小时统计今天的访问量
awk '{split($4,a,":"); print a[2]}' /data/wwwlogs/a.com.access.log | sort | uniq -c
查看最近一小时的 QPS
awk -v now="$(date +%H)" '$4~now{count++}END{print "最近一小时平均 QPS:", count/3600}' /data/wwwlogs/a.com.access.log
假设今天是 3月15日
awk '/15\/Mar\/2024:2[0-2]/{count++}END{print "总请求数:", count; print "平均 QPS:",count/10800}' /data/wwwlogs/a.com.access.log
或者查看最近24小时的统计
awk 'BEGIN{count=0} {count++} END{print "24小时总请求数:", count; print "平均 QPS:", count/86400}' /data/wwwlogs/a.com.access.log
实时监控:
watch -n 1 "netstat -n | awk '/^tcp/ {++S[\$NF]} END {for(a in S) print a, S[a]}'"
检查 Nginx 状态和权限
sudo systemctl status nginx # 检查 Nginx 服务状态,特别是是否有 PID 文件相关警告
ps aux | grep nginx # 查看 Nginx 进程是否正常运行,并检查其权限
ls -l /run/nginx/nginx.pid # 查看 Nginx 的 PID 文件权限是否正确
重启服务并观察日志
sudo systemctl daemon-reload # 重新加载 Systemd 配置文件
sudo systemctl restart nginx # 重启 Nginx 服务
sudo journalctl -xe # 查看系统日志,检查是否有与 Nginx 相关的错误
查找进程和文件路径
ps -ef | grep nginx # 确认 Nginx 的进程是否在运行
find / -name nginx # 在文件系统中查找 Nginx 的相关文件或路径
测试 Nginx 配置文件是否正确
sudo nginx -t
停止nginx
sudo systemctl stop nginx
重启 Nginx 来应用新配置
sudo systemctl restart nginx && nginx -t
测试一下配置是否生效
curl -v http://127.0.0.1/
检查一下 Nginx 是否真的在监听 80 端口
netstat -tlnp | grep nginx