当前位置: 首页 > 知识库问答 >
问题:

连接到php5 fpm时发生nginx错误。sock失败(13:权限被拒绝)

慕鹏
2023-03-14

我更新nginx到1.4.7和PHP到5.5.12,之后我得到了502错误。在我更新之前,一切正常。

nginx-error.log

2014/05/03 13:27:41 [crit] 4202#0: *1 connect() to unix:/var/run/php5-fpm.sock failed (13: Permission denied) while connecting to upstream, client: xx.xxx.xx.xx, server: localhost, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "xx.xx.xx.xx"

nginx。形态

user  www www;
worker_processes  1;

        location / {
            root   /usr/home/user/public_html;
            index  index.php index.html index.htm;
        }
        location ~ [^/]\.php(/|$) {
            fastcgi_split_path_info ^(.+?\.php)(/.*)$;
            fastcgi_pass unix:/var/run/php5-fpm.sock;
            fastcgi_index index.php;
            fastcgi_param  SCRIPT_FILENAME    /usr/home/user/public_html$fastcgi_script_name;
            include fastcgi_params;
        }

共有3个答案

孔和畅
2023-03-14

@Xander的解决方案有效,但重启后不会持久。

我发现我必须改变倾听。模式/etc/php5/fpm/pool中的0660。d/www.conf

来自www.conf的示例:

; Set permissions for unix socket, if one is used. In Linux, read/write
; permissions must be set in order to allow connections from a web server. Many
; BSD-derived systems allow connections regardless of permissions. 
; Default Values: user and group are set as the running user
;                 mode is set to 0660
;listen.owner = www-data
;listen.group = www-data
;listen.mode = 0660

编辑:根据@Chris Burgess,我已将此更改为更安全的方法。

我删除了评论以供聆听。模式组和。所有者:

listen.owner = www-data
listen.group = www-data
listen.mode = 0660

/var/run仅保存自上次引导以来运行的系统的信息,例如,当前登录的用户和正在运行的守护进程。(http://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard#Directory_structure).

旁注:

我的php5 fpm-v报告:php5.4。28-1黛布。苏里。org~precise 1。在最近的一次更新之后,这个问题也发生了。

富勇军
2023-03-14

目前这里提到的所有修复基本上都是重新启用安全漏洞。

我最后做的是将以下几行添加到我的PHP-FPM配置文件中。

listen.owner = www-data
listen.group = www-data

确保www.-data实际上是nginx工作人员运行的用户。对于debian来说,默认情况下是www数据。

这样做不会启用此更改应该解决的安全问题。

卢出野
2023-03-14

我有一个类似的错误后PHP更新。PHP修复了一个安全错误,其中o具有对套接字文件的rw权限。

>

listen.owner = www-data
listen.group = www-data
listen.mode = 0660

重启fpm-sudo service php5-fpm restartorsudo service php7.0-fpm restart

注意:如果您的Web服务器以非www数据的用户身份运行,则需要相应地更新www.conf文件

 类似资料:
  • 问题内容: 我将nginx更新为 1.4.7 ,将php 更新为 5.5.12 ,之后得到了 502错误 。在更新之前,一切正常。 nginx-error.log nginx.conf 问题答案: php更新后出现类似错误。PHP固定一个安全漏洞,其中有权限的套接字文件。 打开或,具体取决于您的版本。 取消注释所有权限行,例如: listen.group = www-data listen.mod

  • 注意:最后一个###.##.###.####是运行代码的google compute VM的外部IP。我相信前两个IP是我的家IP。 在连接到上游:[nginx]时,我尝试了:上的

  • 问题内容: 我正在使用Nginx和Gunicorn配置Django项目。 在Nginx服务器中访问端口时,我的错误日志文件中出现以下错误; 2014/05/30 11:59:42 [crit] 4075#0:* 6 connect()到127.0.0.1:8001在连接到上游时失败(13:权限被拒绝),客户端:127.0.0.1,服务器:localhost,请求:“ GET / HTTP / 1.

  • 似乎有很多关于StackOverflow的问题,但不幸的是,没有什么对我有效。 我在nginx上得到了一个502坏网关,日志中有以下内容: 我正在运行上的和,我一直在数字海洋上遵循这个指南。显然,我正确地配置了,因为工作,但我一直收到权限拒绝错误,我不知道原因: 在遇到这个问题和另一个问题后,我更改了文件,并添加了、、和参数(还尝试了只设置前两个或,以及两个不同的权限设置——即使是最允许的权限设置

  • 我正在使用默认配置,同时添加在我的ubuntu 12.04计算机上安装了nginx的特定目录。 我只需要一个简单的静态nginx服务器来提供该目录之外的文件。但是,请检查我明白了 我已经在上完成了,我已经将它们设置为。我不知道还需要设置什么。

  • 我在django admin(127.0.0.1:8000/admin)中尝试为用户添加个人资料照片时收到此错误消息 有人能帮我找出原因吗? OSError at /admin/role/role/6/[Errno 13]权限被拒绝:'/User'请求方法: POST请求URL:http://127.0.0.1:8000/admin/role/role/6/Django版本: 1.8.2异常类型: