18 我使用fedora 17,当我使用unix域套接字在uwsgi中设置nginx时,将套接字放置在具有适当权限的目录中是可以的,但是当我将套接字放置在目录中时/tmp,会导致nginx错误: connect() to unix:/tmp/MySite.sock failed (2: No such file or directory) while connecting to upstream 该文件确实存在,并且对nginx用户具有读/写权限。但是,导致该错误的原因,确实使我发疯,有人可以解决它。 nginx — 杰夫古库 source
33 您不能将用于进程间通信的套接字放在中/tmp。 出于安全原因,最新版本的Fedora使用命名空间临时目录,这意味着每个服务看到的都是完全不同的内容/tmp,并且只能在该目录中看到自己的文件。 要解决此问题,请将套接字放置在其他目录中,例如/run(以前称为/var/run)。 — 迈克尔·汉普顿 source 1 / run对于普通用户而言是不可写的 — hostmaster 2014年 1 /run不能直接写,但是您可以指示systemd在该目录下创建一个目录,两个进程都可以写该目录。 — 迈克尔·汉普顿 为了帮助那些搜索,这也适用于centos 7,并将套接字文件夹移动到/ run起作用。找到这个问题并不容易,因为每个帐户都可以在tmp中看到该文件夹和文件(将777设置为要测试),因此您永远都不会想到进程不能。 — JosephK
0 是!这可以帮助! 看到来自uwsgi的check-startup-logs消息,但是启动日志中没有数据,无法找出正在发生的情况。原来,我需要将sock文件更改为非/ tmp位置,并添加: catch-exceptions = true 到wsgi的ini文件。原来,我将日志文件处理程序的位置指定到了不存在的目录中,因此它一开始就无法记录错误。 — 凯文·赖斯 source