微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

uwsgi nginx如何改变群组?

即时通讯尝试uwsgi Nginx django教程,并卡在那里(链接链接直接到我卡住的部分)
https://uwsgi-docs.readthedocs.org/en/latest/tutorials/Django_and_nginx.html#if-that-doesn-t-work

Nginx error.log说:

2015/03/09 13:44:51 [crit] 11642#0: *16 connect() to unix:///home/gaucan/temp/my_app/mysite.sock Failed (13: Permission denied) while connecting to upstream, client: 127.0.0.1, server: , request: "GET /favicon.ico HTTP/1.1", upstream: "uwsgi://unix:///home/gaucan/temp/my_app/mysite.sock:", host: "localhost:8000"

和教程说要修复它,执行以下操作:

您可能还需要将您的用户添加Nginx的组(可能是www-data),反之亦然,这样Nginx就可以正确地读取和写入您的套接字.

但是我的linux noob并且我不知道怎么做,或者如何找出该组是否是www-data …在将所有者更改为某些文件夹给用户之前已经做了一些混乱:“gaucan”

我也在教程中跳过了这一步:

您将需要uwsgi_params文件,该文件位于uWsgi发行版的Nginx目录中,或者来自https://github.com/Nginx/Nginx/blob/master/conf/uwsgi_params

因为我不知道哪个目录是uWsgi发行版的Nginx目录…

顺便说一句,如果有任何帮助,我会使用FEDORA ……

解决方法:

查找文件的权限:

ls -al unix:///home/gaucan/temp/my_app/mysite.sock

这将打印一些信息列,其中第一列将是unix权限:

-rw-rw-r--   1 user group  1234 Mar 9 2015  name of file

一个破折号是特殊的,只是忽略它.接下来的三个字符表示拥有该文件用户的读取,写入和执行权限.接下来3代表拥有该文件的组.最后3个代表其他人.

Nginx进程需要能够写入该套接文件.

您不必将您的用户添加到与Nginx相同的组中,但您确实需要在套接字上允许适当的权限.所写的那些说明对我来说没有100%的意义.

– 无论如何将用户添加到群组的说明 –

要查找进程的用户

ps aux | grep Nginx

其中一个输出列将是Nginx进程的用户

要了解您所属的群组:

groups

这将打印您所属的空格分隔的unix组列表.

设置您所属的组的全新列表

sudo usermod -G group1,group2  username

请注意,这些组以逗号分隔,它们将清除所有现有组,因此您需要使用逗号将所有现有组重新键入该命令.

或者,使用usermod的–append标志:

sudo usermod --append www-data username

您必须完全注销并再次登录才能获得新组的效果. (可能存在重新加载组的快捷方式,但我不知道其中一个)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐