核心管理指令
| 用途 | 指令 | 說明 |
| 初始化快取目錄 | squid -z | 首次啟動前必須執行,建立 cache_dir 結構 |
| 語法檢查 | squid -k parse | 驗證 squid.conf 無誤才能啟動 |
| 前台除錯啟動 | squid -N -d1 | 前景執行並輸出除錯等級 1 訊息,見到 Ready to serve requests 即成功 |
| 背景啟動 | squid -s | 守護進程模式啟動,ps -A | grep squid 可見兩個進程 |
| 優雅關閉 | squid -k shutdown | 等待連線處理完畢再關閉 |
| 熱重載設定 | squid -k reconfigure | 修改 squid.conf 後無需重啟即時生效 |
| 加入開機自啟 | echo "/usr/local/squid/sbin/squid -s" >> /etc/rc.d/rc.local | 或寫 systemd service |
權限設定 (關鍵)
# 快取目錄擁有者
chown -R squid:squid /home/cache
# 日誌目錄擁有者
chown -R squid:squid /usr/local/squid/var/logs
日誌分析常用管線
# 記憶體快取命中 (TCP_MEM_HIT)
grep TCP_MEM_HIT /usr/local/squid/var/logs/access.log
# 磁碟快取命中 (TCP_HIT)
grep TCP_HIT /usr/local/squid/var/logs/access.log
# 未命中,向源站取回 (TCP_MISS)
grep TCP_MISS /usr/local/squid/var/logs/access.log
# 指定域名過濾
grep www.example.com /usr/local/squid/var/logs/access.log
日誌輪替 (Log Rotation)
# squid.conf 設定保留份數
logfile_rotate 10
# crontab 每週六凌晨 2 點輪替
0 2 * * 6 /usr/local/squid/sbin/squid -k rotate
中文化錯誤頁面
# squid.conf 新增
error_directory /usr/share/squid/errors/Simplify_Chinese