一键脚本
bash <(curl -sL kejilion.sh) fd
批量反代
bash <(curl -sL kejilion.sh) fd [你的域名] [目标IP] [目标端口]
bash <(curl -sL kejilion.sh) fd web1.example.com 123.123.123.123 8080
bash <(curl -sL kejilion.sh) fd web2.example.com 123.123.123.123 8060
如果需要根域重定向到www,先执行上面的批量反代命令,然后再执行重定向菜单
注意事项:
如果要开放80端口,查看iptables规则
sudo iptables -L INPUT -n --line-numbers | grep 80
然后删除规则,假设前面的序号是3和2
sudo iptables -D INPUT 3
sudo iptables -D INPUT 2
注意:
- 要 先删除行号大的(3),再删小的(2),否则删除后行号会变动。
- 删除顺序错误会导致
No such rule错误。
管理已有配置
k web
重启生效
docker exec nginx nginx -s reload
查询Nginx缓存大小
docker exec nginx du -sh /var/cache/nginx/
查询缓存文件数量
docker exec nginx find /var/cache/nginx -type f | wc -l 2>/dev/null
转换成nginx(非docker)
# 为 proxy 缓存创建目录并设置权限
sudo mkdir -p /var/cache/nginx/proxy
sudo chown -R nginx:nginx /var/cache/nginx
清理系统缓存
# 清理页面缓存
echo 1 > /proc/sys/vm/drop_caches
微调整缓存策略
# 增加缓存压力,让系统更积极地回收缓存
echo 'vm.vfs_cache_pressure = 150' >> /etc/sysctl.conf
# 保持当前的swappiness设置(已经很好了)
echo 'vm.swappiness = 10' >> /etc/sysctl.conf
# 使设置生效
sysctl -p
监控脚本
# 创建监控脚本
cat > /usr/local/bin/memory_monitor.sh << 'EOF'
#!/bin/bash
MEMORY_USAGE=$(free | grep Mem | awk '{printf "%.0f", $3/$2 * 100}')
if [ $MEMORY_USAGE -gt 80 ]; then
echo "Memory usage is ${MEMORY_USAGE}%, clearing cache..."
echo 1 > /proc/sys/vm/drop_caches
logger "Memory cache cleared due to high usage: ${MEMORY_USAGE}%"
fi
EOF
chmod +x /usr/local/bin/memory_monitor.sh
# 设置每5分钟检查一次
echo "*/5 * * * * /usr/local/bin/memory_monitor.sh" | crontab -
一行命令快速查看内存占用最高的进程
ps aux | sort -k4 -nr | head -10
查看缓存大小
du -sh /var/cache/nginx/proxy/
清空现有缓存
sudo rm -rf /var/cache/nginx/proxy/*
重启nginx
sudo nginx -t && sudo systemctl restart nginx
nginx配置
https://github.com/woniu336/cf-cdn-s/blob/main/oth/nginx.conf
站点配置
https://github.com/woniu336/cf-cdn-s/blob/main/oth/conf.d/www.2345.cc.conf
备份
curl -sS -O https://raw.githubusercontent.com/woniu336/cf-cdn-s/main/backup-nginx-ssl.sh &&chmod +x backup-nginx-ssl.sh && ./backup-nginx-ssl.sh