我在使用命令启动 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
使用了错误的用户运行,这创建了具有错误权限的文件。
鱿鱼:错误:无法读取 pid 文件
你需要运行sudo
:sudo squid
致命: ipc::mem::segment::create 无法 shm_open(/squid-cf__metadata.shm):13 权限被拒绝
您需要删除 Squid 的.shm
文件/dev/shm
或分配正确的权限。
$ sudo rm -v /dev/shm/squid*.shm
还要确保:
- Squid 的日志目录 (
/var/log/squid
?) 由正确的用户 (?) 拥有proxy
。 - Squid 的缓存目录 (
/var/spool/squid
?) 由正确的用户拥有。
有关完整示例,请检查以下 Docker 容器:sameersbn/docker-squid
。