centos下解决nginx 无法连接gitlab socket

1
2
[root@liantu_61 home]# cat /etc/redhat-release 
CentOS release 6.7 (Final)

错误日志:

1
2016/01/29 17:36:20 [crit] 27282#0: *1 connect() to unix:/home/git/gitlab/tmp/sockets/gitlab.socket failed (13: Permission denied) while connecting to upstream, client: 192.168.xxx.xxx, server: test61.com, request: "GET /5755/my/notes?target_id=918a696a0e2340c2ee95402fa59187926edaae0c&target_type=commit HTTP/1.1", upstream: "http://unix:/home/git/gitlab/tmp/sockets/gitlab.socket:/502.html", host: "test61.com", referrer: "http://test61.com/"

nginx信息:

1
2
3
4
5
6
7
[root@xxx_61 home]# ps aux|grep nginx
root     27280  0.0  0.0  17668   944 ?        Ss   17:35   0:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
www      27281  0.0  0.0  18096  1652 ?        S    17:35   0:00 nginx: worker process                                          
www      27282  0.0  0.0  18404  2192 ?        S    17:35   0:00 nginx: worker process                                          
www      27283  0.0  0.0  18096  1652 ?        S    17:35   0:00 nginx: worker process                                          
www      27284  0.0  0.0  18096  1636 ?        S    17:35   0:00 nginx: worker process                                          
root     27531  0.0  0.0 103304   936 pts/0    S+   17:39   0:00 grep nginx

解决办法:

nginx换用git git正常.说明权限问题.但是服务器必须用www用户运行nginx.

解决思路:将nginx运行用户www加入git组

然后赋予git用户组可实行权限

1
2
3
4
usermod -a -G git www
[root@xxx_61 home]# id www
uid=501(www) gid=501(www) groups=501(www),503(git)
chmod g+rx /home/git/


本文转自 yawei555 51CTO博客,原文链接:http://blog.51cto.com/huwei555/1739923,如需转载请自行联系原作者
上一篇:2017云栖跑为信仰而战,炫酷体验享你所享


下一篇:C++:预定义:__cplusplus