Я пытаюсь настроить nginx и cgit на FreeBSD, но nginx не может получить доступ /var/run/fcgiwrap/fcgiwrap.sock
.
В моем случае /etc/rc.conf
я уже установил fcgiwrap_user="www"
, а www
также есть пользователь, от имени которого запускается nginx.
Когда я делаю fcgiwrap.sock
принадлежащим www
исполнителю chown www /var/run/fcgiwrap/fcgiwrap.sock
, все работает так, как я хочу.
Однако это, конечно, неверный способ, и он продлится только до перезагрузки.
Я предполагал, что обстановка fcgiwrap_user="www"
также будет определять это.
Я что-то пропустил?
Обновлять:
Я заметил, что когда я использую service fcgiwrap start
или restart
, за сообщением Starting fcgiwrap
следует chmod: /var/run/fcgiwrap/fcgiwrap.sock: No such file or directory
. Однако /var/run/fcgiwrap/fcgiwrap.sock
существует после этого.
решение1
Скрипт RC находится по адресу /usr/local/etc/rc.d/fcgiwrap
.
Глядя на код, fcgiwrap_user
задаем владельца процесса, запускающего демон (по умолчанию root
).
Вам необходимо установить fcgiwrap_socket_owner="www"
владельца сокета.
решение2
Ответ Ричарда Смита также сработал для меня, но в моем случае мне также пришлось установить fcgiwrap_socket_group="www"
. Эти настройки, похоже, новые, потому что раньше было достаточно установить fcgiwrap_user="www"
.