Nginx 200连接到unix:/tmp/uwsgi.sock失败

Nginx 200连接到unix:/tmp/uwsgi.sock失败,nginx,amazon-ec2,uwsgi,Nginx,Amazon Ec2,Uwsgi,我正在EC2上用uwsgi配置nginx,我在文件中有检查日志 /var/log/nginx/error.log 我得到这个错误: 200 connect()到unix:/tmp/uwsgi.sock在连接到上游时失败(2:没有这样的文件或目录) 我的uwsgi.sock位置是/var/www/myapp/ 如何从uwsgi://unix:/tmp/uwsgi.sock至uwsgi://unix:/var/www/myapp/在配置中?您尚未回复我的评论: nginx的完整错误日志是什么?它提到

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

我得到这个错误:

200 connect()到unix:/tmp/uwsgi.sock在连接到上游时失败(2:没有这样的文件或目录)

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


如何从
uwsgi://unix:/tmp/uwsgi.sock
uwsgi://unix:/var/www/myapp/
在配置中?

您尚未回复我的评论:

nginx的完整错误日志是什么?它提到了任何东西的复制品吗?;)-cnst 6月28日18:54

我提出这个问题的原因是,Debian上的默认配置,包括可用的
站点/
和启用的
站点/
目录,具有一个不会忽略策略性放置的备份文件(例如以
~
结尾的文件)的属性

我曾经浪费了大量的时间试图“快速”做一些PoC,只是困惑于为什么我知道100%应该完全工作的事情没有工作,为什么我的
错误日志
报告了一些神秘的问题:


这可能是经典名称空间临时文件的问题,请参见以下内容:

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

请参考此问题及其答案,这在本例中可能有用。


请参阅nginx.conf文件中提到的uwsgi_pass部分。如果您尚未进行类似的更改,请执行此操作并重新启动Web服务器。我认为这必须解决问题。

您应该指定.sock文件所在的文件名。如果您的套接字文件位于目录
/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文件吗?OP已经提到了他的日志文件是怎么说的。如果是已使用地址的情况,那么上游连接错误一开始就不会出现。
23:46:38 [emerg] 25509#0: bind() to [::]:80 failed (98: Address already in use)