【问题标题】:NginX permission denied 13NginX 权限被拒绝 13
【发布时间】:2017-11-03 06:23:01
【问题描述】:

我在学习

上的教程时遇到了我的 engine-X 的权限问题

http://uwsgi-docs.readthedocs.io/en/latest/tutorials/Django_and_nginx.html

我尝试了在类似问题中找到的建议解决方法,但没有任何帮助。 (将 Selinux 设置为 permissive,为 uwsgi 添加 chmods 甚至以 root 身份运行 nginx)

这是来自 nginx error.log 的错误转储 有人有什么想法吗?如果无法修复,我可能不会将 nginx 与 virtualenv 一起使用。

[crit] 3123#0: *3 connect() to unix:///home/mb/uwsgi-tutorial/mysite mysite.sock failed (13: Permission denied) while connecting to upstream, client: 127.0.0.1, server: 127.0.0.1, request: "GET / HTTP/1.1", upstream: "uwsgi://unix:///home/mb/uwsgi-tutorial/mysite/mysite.sock:", host: "localhost:8000"

编辑:禁用 SELinux 解决了 TCP_socket 的问题(这显然是个问题),然后一切正常。

禁用 SELinux 并不能解决 Unix_domain 套接字的权限问题 即使使用 chmod 777 也不允许 Nxinx 使用套接字(我知道不应该这样做)。

【问题讨论】:

    标签: django sockets nginx permissions unix-socket


    【解决方案1】:

    那么可能你需要管理套接字的权限,以便允许 nginx 使用它。

    试试:

    uwsgi --socket mysite.sock --wsgi-file test.py --chmod-socket=666 
    

    【讨论】:

    • 对不起,这并不能解决问题,我不知道为什么。它给出了同样的错误。当我尝试使用 TCP“套接字”而不是 Unix 域套接字时,它也会给出同样的错误
    • 当我尝试运行 TCP 套接字时,SELinux 给了我一个警告,它拒绝访问,但我已将其设置为许可模式!我想我会尝试将其关闭一段时间,看看是否能解决问题。
    猜你喜欢
    • 2017-07-23
    • 2015-05-03
    • 2019-06-15
    • 2014-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-10
    • 2018-07-19
    相关资源
    最近更新 更多