Ошибка прокси-сервера Squid: при запуске
Я получил эту ошибку при запуске Squid Proxy Server с помощью команды sudo squid -z
fatal: ipc::mem::segment::create failed to shm_open(/squid-cf__metadata.shm): 13 permission denied
Как мне это исправить? Я использую версию 3.5.26
кальмаров. Я пробовал все исправления, которые я нашел в Интернете, но ничего не работает. Я попытался реализовать исправление ниже, я нашел в Интернете:
Просто добавьте следующую строку в ваш файл /etc/fstab: shm /dev/shm tmpfs nodev,nosuid,noexec 0 0 После этого используйте (как root): # mount shm
К сожалению, это не работает. Еще одно возможное исправление в Интернете - ошибка чтения. squid.pid
squid: ОШИБКА: не удалось прочитать файл pid /var/run/squid.pid: (13) Отказано в доступе
К сожалению, как я смотрю в своем каталоге, я не мог найти squid.pid
, Как мне заставить работать мой Squid? Благодарю.
1 ответ
роковое: ipc:: mem:: сегмент:: создать не удалось 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
как рабочий пример.