我已在 Slackware 14.2 中成功安装并配置了 Squid Proxy Server 3.5.26。我当前以 root 用户身份登录,使用以下命令启动 Squid 时出现错误sudo squid -z
:
WARNING: Cannot write log file: /var/log/squid/cache.log
/var/log/squid/cache.clog: Permission Denied
messages will be sent to 'stderr'
2019/04/08 16:16:20 kid1| Set Current Directory to
/var/log/squid/cache/squid
2019/04/08 16:16:20 kid1| Creating missing swap directories
FATAL: Failed to make swap directory /var/cache/squid: (13) Permission Denied
Squid Cache (Version 3.5.26): Terminated abnormally.
CPU Usage: 0.008 seconds = 0.006 user + 0.002 sys
Maximum Resident Size: 45392 KB
Page faults with physical i/o:0
答案1
我无法发表评论,所以我会尝试回答。squid 现在以用户“proxy”的身份运行;请参阅 squid.conf 中的 cache_effective_user 行。我不知道他们为什么一直改变这一点。
但是等等!不要编辑 squid.conf。永远不要。创建一个 squid.conf.special 文件或其他名称,并将其“包含”在 squid.conf 中。您不想搜索 7,800 多行 squid.conf 来进行更改。
我和你遇到了同样的问题,ABC。很遗憾,我无法给你一个明确的答案,因为我还没有解决这个问题。
编辑:我删除了缓存目录,在我的计算机上是 /var/spool/squid。我重新安装了 squid,并重新创建了缓存目录。但这没有用。查看缓存目录,它仍然有原始安装的时间和日期。这让我起了疑心,于是我再次删除了它。我创建了一个新目录 /var/spool/squid3,并通过编辑我的 /etc/squid/squid.conf.forward 文件告诉 squid 使用该目录,并确保它“包含”在 squid.conf 中。
我确保 /var/spool/squid3 可以被 squid 读取和写入:
sudo chown -R proxy:proxy /var/spool/squid3
sudo chmod -R 775 /var/spool/squid3
然后停止鱿鱼后,
sudo service squid stop
使用以下方式创建缓存
sudo squid -z
(这次我看到所有的缓存目录都被创建了)
并重新启动 squid
sudo service squid start
成功了。编辑:但效果不佳。还是有些问题。代理服务器提供的页面我从未访问过,但不是 Google 或我经常使用的其他页面。
2019 年 11 月 14 日编辑:我最终安装了 ClearOS 防火墙,它有一个更简单的 squid.conf 文件,并且默认执行其他功能,而这些功能必须在 Ubuntu 中启用。(我真正需要更改的唯一事情是打开端口 53 以从互联网获取时间并将防火墙用作时间服务器。)安装 squid 并创建缓存效果很好。
答案2
我在 Debian 上也遇到了同样症状的问题。
这是由于 apparmor 中为 squid 设置的权限 (/etc/apparmor.d/usr.sbin.squid) 造成的。在根据我们的具体设置进行调整后,squid 可以毫无问题地重新启动。
这可能会对将来的某些人有所帮助。