使用命令“sudo squid -z”启动 Squid 代理服务器时出错

使用命令“sudo squid -z”启动 Squid 代理服务器时出错

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

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

我该如何修复它?我正在使用3.5.26Squid 版本,我尝试实施我在网上找到的以下修复程序:

只需将以下行添加到您的/etc/fstab文件中: shm /dev/shm tmpfs nodev,nosuid,noexec 0 0
之后使用(以 root 身份):# mount shm

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

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

当我查看目录时,我找不到squid.pid。我该如何让我的 Squid 工作?

答案1

致命:ipc::mem::segment::create 无法 shm_open()

此错误与拒绝访问共享内存段(man shm_open)。问题是,您可能squid以错误的用户运行进程(之前或现在)。

解决方案是从中删除.shm文件/dev/shm

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

squid以正确的用户身份运行(例如proxy),使用sudo,确保您的cache_effective_user配置文件中的内容正确(squid.conf),您的缓存和日志目录归该用户所有。

检查以下 Docker 容器sameersbn/docker-squid作为工作示例。

相关内容