Nginx的Permission denied错误

环境: CentOS7

问题描述

今天搭建了nginx+uwsgi+django的环境,之后通过浏览器访问遇到下面问题:

2017/03/31 19:38:13 [crit] 191969#191969: *5 connect() to 127.0.0.1:8000 failed (13: Permission denied) while connecting to upstream, client: 192.168.0.10, server: localhost, request: "GET /admin HTTP/1.1", upstream: "uwsgi://127.0.0.1:8000", host: "192.168.0.20:8080"

上面来自/var/log/nginx/error.log。

原因

通过ps命令查看nginx进程为用户nginx,而uwsgi进程为用户root。估计是权限不一致导致nginx无法访问uwsgi进程(socket方式通信)。

所以修改nginx的配置文件/etc/nginx/nginx.conf,把user选项从nginx改成root。之后执行重启命令systemctl restart nginx

再次打开浏览器访问django,发现仍然不行。(+﹏+)~狂晕

上网继续调查,发现还有一个原因可能引起这个问题,那就是selinux,执行下面命令:

setsebool -P httpd_can_network_connect 1

然后重新访问浏览器,发现可以打开页面了。如果还不行就彻底一些,关闭selinux:

setenforce 0

O(∩_∩)O哈哈~,终于搞定了。

One More Thing

在stackoverflow网站看到一个回复是说使用root运行uwsgi还是不太好的,建议使用一个和nginx相同的普通账户运行。例如:

uwsgi -s /tmp/uwsgi.sock -w my_app:app --uid www-data --gid www-data

@完


参考:

Nginx的Permission denied错误的更多相关文章

  1. vsftpd安装配置 530 Permission denied.错误

    yum install vsftpd service vsftpd start 530 Permission denied.错误 /etc/vsftpd/user_list    该文件里的用户账户在 ...

  2. sendto() 向广播地址发包返回errno 13, Permission denied错误

    http://blog.csdn.net/guanghua2_0beta/article/details/52483916 sendto() 向广播地址发包返回errno 13, Permission ...

  3. Android Permission denied 错误 ( 附Android权限大全 )

    Android Permission denied 错误(附Android权限大全) java.net.SocketException: Permission denied (maybe missin ...

  4. npm install 时出现的 EACCES: permission denied 错误的可能有效的解决方案

    最近我开始接触手机 app 的编写,公司用到了 Nativescript.当我下载了公司的项目后,在配置时出现了不少的问题,其中出现概率最高的就是 EACCES: permission denied ...

  5. 解决:/bin/sh: 1: /home/**/custom_app.sh: Permission denied错误

    出现如下错误,一般是执行权限不够. /bin/sh: : /home/custom_app.sh: Permission denied 解决方法是:cd 到此文件目录,对提示的文件赋予可执行权限或读写 ...

  6. Bash . configure permission denied错误

    当你在Linux(我这里是Ubuntu10.04LTS Desktop)下编译安装某个包的时候,你首先是进入到解压目录然后执行“$ ./configure”的,但是有时候你会发现提示错误,错误提示是这 ...

  7. EBS R12.2.0启动时报"httpd.pid: Permission denied"错误

    启动应用服务: $ /app/oracle/apps/VIS/fs1/inst/apps/VIS_erptest/admin/scripts/adstrtal.sh apps/apps 报出如下错误: ...

  8. encfs创建时fuse: failed to exec fusermount: Permission denied错误解决

    今天用encfs创建加密文件夹时碰到提示错误fuse: failed to exec fusermount: Permission denied fuse failed. Common problem ...

  9. IOS使用pods初次加载出现Pods-resources.sh: Permission denied错误的解决方案

    在使用了pods之后首次编译加载时会出现错误 你的Pods存放目录/Pods/Target Support Files/Pods/Pods-resources.sh: Permission denie ...

随机推荐

  1. 微软编程一小时 题目2: Longest Repeated Sequence

    题目2 : Longest Repeated Sequence 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 You are given a sequence of i ...

  2. 菜鸟的Xamarin.Forms前行之路——windows下VS运行ios模拟器调试

    在Xamarin.Forms项目中,运行安卓模拟器是很方便的,但是想要运行IOS模拟器,相对而言是困难一点. 在参考一些资料后,发现很多是与Xamarin.studio有关的方法,尝试了许久没有成功. ...

  3. ORA-01722: 无效数字的解决方法

    Select Count(t.Wip_No) As Consignvendnewcreateno_Num From   Apps.View_Scm_Wip_Po t Where  1 = 1 And  ...

  4. TiDB和MongoDB分片集群架构比较

    此文已由作者温正湖授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 最近阅读了TiDB源码的说明文档,跟MongoDB的分片集群做了下简单对比. 首先展示TiDB的整体架构 M ...

  5. hdu5693 D game&&hdu 5712 D++ game

    题目链接:5693 题目链接:5712 对于这个D game.注意消除之后两遍的序列是可以拼合到一起的!我们可以想到有区间DP的做法.我们设\(f[i][j]\)表示区间i,j可以被消除. 显然如果这 ...

  6. PVS BSP

    作者:韦易笑链接:https://www.zhihu.com/question/38060533/answer/84432973来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...

  7. vue.js 知识点(三)

    ---恢复内容开始--- vue和react相同,都是单项数据流,也就是只能从父组件流向子组件,但是因为根据引用的不同,子组件也是可以经过函数处理流向父组件的!这点跟react十分相似,但是也有不同: ...

  8. 通过cookie绕过验证码登录

    在我们做自动化的时候碰到一些比较难破解的验证码时是非常头疼的,一般来说最好的办法就是让开发屏蔽,这样最有益身心健康. 那么今天我介绍的这个方法也挺简单的,就是通过添加cookie的方式绕过验证码直接登 ...

  9. NVIDIA Jetson TX2刷机

    官方安装教程 JetPack下载 主机端环境准备 需要在PC端安装虚拟机,虚拟机中安装Ubuntu14.04系统. 按照上面的地址下载JetPack-L4T-3.1-linux-x64.run 主机端 ...

  10. 【手记】如果Idx/Sub字幕导不进MKVToolNix,看看是否这个原因

    用记事本之类的文本编辑器打开idx文件,看看时间轴部分是不是存在不规范的条目,比如: timestamp: :::, filepos: 注意,上述条目中,filepos:后面缺了一个空格,就这么一处问 ...