Nginx connect()到unix:/var/run/fcgiwrap.socket失败

时间:2015-06-08 07:51:08

标签: sockets unix nginx gitweb

我正在尝试在我的Nginx服务器上安装Gitweb。似乎所有内容都配置正确,但我似乎在gitweb.log中收到以下错误:

`2015/06/08 08:42:05 [crit] 29135#0: *5 connect() to unix:/var/run/fcgiwrap.socket failed (13: Permission denied) while connecting to upstream, client: 83.36.85.6, server: git.mydomain.co.uk, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/var/run/fcgiwrap.socket:", host: "git.mydomain.co.uk"`

我检查了所有者/权限,一切似乎都没问题。

srwxr-xr-x 1 www-data www-data 0 Jun 8 08:44 /var/run/fcgiwrap.socket

ps aux | grep nginx的输出是:

root     30283  0.0  0.0  90552  1296 ?        Ss   08:59   0:00 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
forge    30284  0.0  0.0  90884  1924 ?        S    08:59   0:00 nginx: worker process                           
forge    30285  0.0  0.1  90884  2408 ?        S    08:59   0:00 nginx: worker process                           
root     30528  0.0  0.0  11980   928 pts/0    R+   09:03   0:00 grep --color=auto nginx

任何想法可能是什么问题?

1 个答案:

答案 0 :(得分:8)

套接字必须是客户端和服务器可读写的。假设服务器以www-data运行且客户端以forgeforge运行,则以下步骤应解决此问题。

将套接字的组所有权更改为用户forge组。

chgrp forge /var/run/fcgiwrap.socket

更改群组权限以允许写入群组forge

chmod g+w /var/run/fcgiwrap.socket

套接字现在可由服务器和客户端读写。