【问题标题】:200 connect() to unix:/tmp/uwsgi.sock failed200 connect() 到 unix:/tmp/uwsgi.sock 失败
【发布时间】:2015-08-29 11:18:47
【问题描述】:

我在 EC2 上使用 uwsgi 配置 nginx,我检查了文件中的日志 /var/log/nginx/error.log.

我收到此错误:

200 connect() to unix:/tmp/uwsgi.sock failed (2: No such file or directory) while connection to upstream

我的 uwsgi.sock 位置是/var/www/myapp/

如何在配置中将文件位置从uwsgi://unix:/tmp/uwsgi.sock 更改为uwsgi://unix:/var/www/myapp/

【问题讨论】:

  • 您应该指定 .sock 文件所在的文件名。如果你的socket文件在/var/www/myapp/目录下,你的配置应该是/var/www/myapp/uwsgi.sock
  • 感谢您的回复,但在 nginx.conf 文件中,我提供了路径 /var/www/myapp/uwsgi.sock。仍然收到错误。
  • uWSGI 在哪个用户下运行,该用户对 /var/www/myapp 有写权限吗?
  • 用户是 ubuntu 并且 /var/www/myapp 有写权限。我已经为此设置了权限 666。
  • 如果你只是在终端上输入 uwsgi -s /var/www/myapp/uwsgi.sock (作为用户 ubuntu),它会创建 .sock 文件吗?

标签: nginx amazon-ec2 uwsgi


【解决方案1】:

这可能是经典命名空间 Temp 的问题,请参阅:http://fedoraproject.org/wiki/Features/ServicesPrivateTmp

但是您提到您已将您的 sock 位置设置为您的应用程序目录,您是否在该虚拟主机的 nginx 配置中完成了它?您肯定需要重新启动 Web 服务器才能使更改生效。

请参考这个问题及其答案,这在这种情况下可能有用。 Got 'No such file or directory' error while configuring nginx and uwsgi

请参考 nginx.conf 文件中提到 uwsgi_pass 的部分。如果您没有进行类似的更改,请这样做并重新启动网络服务器。我认为这必须解决问题。

【讨论】:

    【解决方案2】:

    你还没有回复我的评论:

    nginx 的完整 error_log 是什么?它有没有提到任何重复的东西? ;) – cnst 6 月 28 日 18:54

    我要问的原因是 Debian 上的默认配置,带有 sites-available/sites-enabled/ 目录,有一个 include 不会忽略策略性放置的备份文件(比如那些以 ~ 结尾的文件) )。

    我曾经浪费了大量时间试图“快速”做一些 PoC,只是很困惑为什么我知道 100% 应该完全正常的事情不起作用,为什么我的 error_log 报告了一些神秘的 @987654322 @问题:

    23:46:38 [emerg] 25509#0: bind() to [::]:80 failed (98: Address already in use)
    

    【讨论】:

    • OP 已经提到了他的日志文件所说的内容。如果是已经使用的地址,那么上游连接错误将不会首先显示。
    猜你喜欢
    • 1970-01-01
    • 2016-06-29
    • 1970-01-01
    • 1970-01-01
    • 2019-06-03
    • 2020-02-15
    • 2020-03-14
    • 2019-03-04
    • 1970-01-01
    相关资源
    最近更新 更多