Ich versuche, nginx und cgit auf FreeBSD einzurichten, aber nginx kann nicht zugreifen /var/run/fcgiwrap/fcgiwrap.sock
.
In meinem /etc/rc.conf
habe ich bereits eingestellt fcgiwrap_user="www"
, und www
es ist auch der Benutzer, unter dem nginx ausgeführt wird.
Wenn ich durch Ausführen fcgiwrap.sock
den Wert own by mache , funktioniert alles wie ich möchte.www
chown www /var/run/fcgiwrap/fcgiwrap.sock
Dies ist jedoch natürlich nicht die richtige Vorgehensweise und funktioniert nur bis zum Neustart.
Ich ging davon aus, dass fcgiwrap_user="www"
dies auch von der Einstellung abhängt.
Übersehe ich etwas?
Aktualisieren:
Mir ist aufgefallen, dass, wenn ich service fcgiwrap start
oder verwende restart
, auf die Nachricht Starting fcgiwrap
ein folgt chmod: /var/run/fcgiwrap/fcgiwrap.sock: No such file or directory
. /var/run/fcgiwrap/fcgiwrap.sock
Danach existiert jedoch ein .
Antwort1
Das RC-Skript befindet sich unter /usr/local/etc/rc.d/fcgiwrap
.
Beim Betrachten des Codes fcgiwrap_user
wird der Besitzer des Prozesses festgelegt, der den Daemon ausführt (Standard root
).
Sie müssen fcgiwrap_socket_owner="www"
den Besitzer des Sockets festlegen.
Antwort2
Die Antwort von Richard Smith hat bei mir auch funktioniert, allerdings musste ich in meinem Fall auch einstellen fcgiwrap_socket_group="www"
. Diese Einstellungen scheinen neu zu sein, da es vorher ausgereicht hat, einzustellen fcgiwrap_user="www"
.