清除Squid代理缓存并重新创建缓存目录
时间:2020-01-09 10:42:09 来源:igfitidea点击:
如何清除Squid缓存?
如何在当前在Linux或者Unix服务器上运行Squid版本3.x/4.x的服务器上重新创建缓存目录?
您可以使用以下过程在服务器上删除/清除缓存并重新创建缓存目录。
请注意,如果您在CentOS/RHEL/Fedora Linux上使用SELinux,则需要运行其他命令。
步骤1:查找Squid缓存目录位置
打开终端应用程序/窗口,然后执行:
# grep cache_dir /etc/squid/squid.conf
输出示例:
cache_dir ufs /var/spool/squid 100 16 256
对于远程服务器,请使用ssh命令:
$ ssh [email protected] $ sudo grep cache_dir /etc/squid/squid.conf
我们可以使用du命令查看Squidcahce大小:
$ sudo du -ch /var/spool/squid
2.8M /var/spool/squid/00/00 4.0K /var/spool/squid/00/BA 4.0K /var/spool/squid/00/17 4.0K /var/spool/squid/00/34 4.0K /var/spool/squid/00/33 4.0K /var/spool/squid/00/32 4.0K /var/spool/squid/00/49 4.0K /var/spool/squid/00/E0 4.0K /var/spool/squid/00/3D 4.0K /var/spool/squid/00/44 4.0K /var/spool/squid/00/98 4.0K /var/spool/squid/00/2B 3.8M /var/spool/squid/00 28M /var/spool/squid/ 28M total
第2步:使用空的缓存重新启动Squid
打开终端并以root用户身份登录。
或者使用ssh命令登录到远程服务器。
登录后,执行以下命令以关闭squid代理服务器:
# squid -k shutdown
使用以下rm命令删除目录:
# rm -rf /path/to/dir/cache/ # rm -rf /var/spool/squid/
请注意,您需要为要清空的每个cache_dir位置重复rm命令。
接下来,使用以下mkdir命令创建目录并使用chown命令设置权限:
# mkdir /var/spool/squid/ # chown squid:squid /var/spool/squid/
在由名为proxy的用户运行的Debian或者Ubuntu LinuxSquid服务器上。
换句话说,执行以下chown命令:
# chown proxy:proxy /var/spool/squid/
更好的选择是使用grep命令/egrep命令来搜索用户名,如下所示,然后通过chown命令应用该用户名:
# grep cache_effective_user /path/to/your/squid.conf # grep -i --color cache_effective_user /etc/squid/squid.conf
关于SELinux用户的说明
如果您在CentOS/RHEL/Fedora Linux上使用SELinux,请执行以下命令来恢复文件的默认SELinux安全上下文:
# restorecon -vr /var/spool/squid
不要跳过上述步骤。
创建cache_dir
最后,要重新创建缓存目录,请执行:
# squid -z
启动Squid代理服务器
要启动Squid,请执行:
# squid
或者
# service squid start
输出示例:
Starting squid: [ OK ]
现代Linux发行版用户需要使用systemctl命令,如下所示:
# systemctl start squid.service ## Check status too ## # systemctl status squid.service
步骤3:验证Squid是否正在运行
执行以下命令:
# netstat -tulpn | grep :3128 # ss -tulpn | grep :3128 # tail -f /var/log/squid/access.log # tail -f /var/log/squid/cache.log