Freebsd
FreeBSD 上的 Nginx:fcgiwrap.sock 權限被拒絕
我正在嘗試在 FreeBSD 上設置 nginx 和 cgit,但 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
or時restart
,消息Starting fcgiwrap
後面跟著chmod: /var/run/fcgiwrap/fcgiwrap.sock: No such file or directory
. 不過/var/run/fcgiwrap/fcgiwrap.sock
之後確實存在。
RC 腳本位於
/usr/local/etc/rc.d/fcgiwrap
.查看程式碼,
fcgiwrap_user
設置執行守護程序的程序的所有者(預設root
)。您需要設置
fcgiwrap_socket_owner="www"
以設置套接字的所有者。
理查德史密斯的答案也對我有用,但就我而言,我也必須設置
fcgiwrap_socket_group="www"
. 這些設置似乎是新的,因為之前設置fcgiwrap_user="www"
.