我更新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;
}
@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
。在最近的一次更新之后,这个问题也发生了。
目前这里提到的所有修复基本上都是重新启用安全漏洞。
我最后做的是将以下几行添加到我的PHP-FPM配置文件中。
listen.owner = www-data
listen.group = www-data
确保www.-data实际上是nginx工作人员运行的用户。对于debian来说,默认情况下是www数据。
这样做不会启用此更改应该解决的安全问题。
我有一个类似的错误后PHP更新。PHP修复了一个安全错误,其中o
具有对套接字文件的rw
权限。
>
listen.owner = www-data
listen.group = www-data
listen.mode = 0660
重启fpm-sudo service php5-fpm restart
orsudo 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异常类型: