nginx unix域套接字错误

jef*_*oku 18 nginx

我使用fedora 17,当我使用unix域套接字设置带有uwsgi的nginx时,当我将套接字放置在具有适当权限的目录中时就可以了,但是当我将套接字放入其中/tmp时会导致nginx错误:

connect() to unix:/tmp/MySite.sock failed (2: No such file or directory) while connecting to upstream
Run Code Online (Sandbox Code Playgroud)

该文件确实存在并且对 nginx 用户具有读/写权限。但是是什么导致了这个错误,它真的让我发疯,有人可以弄清楚。

Mic*_*ton 37

您不能将用于进程间通信的套接字放置在/tmp.

出于安全原因,Fedora 的最新版本使用命名空间临时目录,这意味着每个服务看到的都是完全不同的/tmp,并且只能在该目录中看到自己的文件。

要解决此问题,请将套接字放在不同的目录中,例如/run(以前称为/var/run)。