Squid 代理服务器错误:启动时

Squid 代理服务器错误:启动时

使用以下命令启动 Squid 代理服务器时出现此错误sudo squid -z

fatal: ipc::mem::segment::create failed to shm_open(/squid-cf__metadata.shm): 13 permission denied

我该如何修复它?我使用的是 Squid 3.5.26 版。我尝试了在网上找到的所有修复方法,但都不起作用。

我尝试实施在网上找到的下面的修复程序:

Just add the following line to your /etc/fstab file: 
shm /dev/shm tmpfs nodev,nosuid,noexec 0 0 
After that use (as root): 
# mount shm 

不幸的是,它不起作用。网络上的另一个可能的修复方法是读取 squid.pid 时出错

squid: ERROR: Could not read pid file
/var/run/squid.pid: (13) Permission denied

不幸的是,当我查看我的目录时,我找不到squid.pid

我该如何让我的 Squid 工作?谢谢。

答案1

squid您以错误的用户身份运行,从而创建了具有错误权限的文件。

squid:错误:无法读取 pid 文件

您需要运行sudosudo squid -z

致命:ipc::mem::segment::create 无法 shm_open(/squid-cf__metadata.shm):13 权限被拒绝

您需要.shm从中删除 Squid 的文件/dev/shm或者分配正确的权限。

$ sudo rm -v /dev/shm/squid*.shm

还要确保:

  • Squid 的日志目录(/var/log/squid?)归正确的用户(?)所有proxy
  • Squid 的缓存目录(/var/spool/squid?)归正确的用户所有。

有关完整示例,请查看以下 Docker 容器:sameersbn/docker-squid

答案2

根据这个帖子添加以下配置/etc/squid/squid.conf

cache_effective_user nobody
cache_effective_group nobody

相关内容