configurationnginx和uwsgi时出现'没有这样的文件或目录'错误

更新:如果我不使用套接字,而是使用127.0.0.1:3031 ,一切工作正常。

Nginx版本是1.6.3,而uwsgi是2.0.11.1

/etc/uwsgi.ini:

[uwsgi] uid = uwsgi gid = uwsgi pidfile = /run/uwsgi/uwsgi.pid emperor = /etc/uwsgi.d stats = /run/uwsgi/stats.sock emperor-tyrant = true cap = setgid,setuid logto = /var/log/uwsgi.log

/etc/uwsgi.d/daimaduan_preview.ini

configurationDjango,Apache和Nginx

为什么更新时间对于像nginx这样的Web服务器如此重要?

亚马逊Linux上的uwsgi新贵

Nginx client_max_body_size在AWS Elastic Beanstalk的Docker容器中不起作用

如何处理清漆堆栈中的Cookie

[uwsgi] plugin = python,http protocol = uwsgi chdir = /var/www/daimaduan/preview/current master = true processes = 4 threads = 20 socket = /tmp/daimaduan-preview.sock chmod-socket = 666 uid = vagrant gid = vagrant logto = /var/log/daimaduan/preview/uwsgi.log virtualenv = /var/www/daimaduan/preview/venv wsgi-file = deploy.wsgi

/etc/nginx/conf.d/daimaduan.conf

server { listen 80; server_name example.com; access_log /var/log/daimaduan/preview/access.log; error_log /var/log/daimaduan/preview/error.log; root /var/www/daimaduan/preview/current/daimaduan; location / { uwsgi_pass unix:/tmp/daimaduan-preview.sock; include uwsgi_params; } }

但是,我通过访问http://127.0.0.1/得到了nginx的错误:

2015/10/06 14:14:04 [crit] 16946#0: *1 connect() to unix:/tmp/daimaduan-preview.sock failed (2: No such file or directory) while connecting to upstream,client: 127.0.0.1,server:,request: "GET / HTTP/1.1",upstream: "uwsgi://unix:/tmp/daimaduan-preview.sock:",host: "127.0.0.1" 2015/10/06 14:17:44 [crit] 16995#0: *1 connect() to unix:/tmp/daimaduan-preview.sock failed (2: No such file or directory) while connecting to upstream,host: "127.0.0.1" 2015/10/06 14:28:13 [crit] 16995#0: *3 connect() to unix:/tmp/daimaduan-preview.sock failed (2: No such file or directory) while connecting to upstream,host: "127.0.0.1" 2015/10/06 15:29:14 [crit] 16995#0: *5 connect() to unix:/tmp/daimaduan-preview.sock failed (2: No such file or directory) while connecting to upstream,host: "127.0.0.1" 2015/10/06 15:30:52 [crit] 16995#0: *7 connect() to unix:/tmp/daimaduan-preview.sock failed (2: No such file or directory) while connecting to upstream,host: "127.0.0.1" 2015/10/06 15:32:48 [crit] 16995#0: *9 connect() to unix:/tmp/daimaduan-preview.sock failed (2: No such file or directory) while connecting to upstream,host: "127.0.0.1" 2015/10/06 15:37:14 [crit] 16995#0: *11 connect() to unix:/tmp/daimaduan-preview.sock failed (2: No such file or directory) while connecting to upstream,host: "127.0.0.1" 2015/10/06 15:38:14 [crit] 16995#0: *13 connect() to unix:/tmp/daimaduan-preview.sock failed (2: No such file or directory) while connecting to upstream,host: "127.0.0.1" 2015/10/06 15:38:21 [crit] 17577#0: *1 connect() to unix:/tmp/daimaduan-preview.sock failed (2: No such file or directory) while connecting to upstream,host: "127.0.0.1"

我很确定/tmp/daimaduan-preview.sock确实存在。 我也检查了uwsgi日志:

*** Starting uWSGI 2.0.11.1 (64bit) on [Tue Oct 6 15:38:09 2015] *** compiled with version: 4.8.3 20140911 (Red Hat 4.8.3-9) on 21 July 2015 16:01:10 os: Linux-3.10.0-123.el7.x86_64 #1 SMP Mon Jun 30 12:09:22 UTC 2014 nodename: localhost.localdomain machine: x86_64 clock source: unix pcre jit disabled detected number of CPU cores: 1 current working directory: /etc/uwsgi.d detected binary path: /usr/sbin/uwsgi chdir() to /var/www/daimaduan/preview/current your processes number limit is 3826 your memory page size is 4096 bytes detected max file descriptor number: 1024 lock engine: pthread robust mutexes thunder lock: disabled (you can enable it with --thunder-lock) uwsgi socket 0 inherited UNIX address /tmp/daimaduan-preview.sock fd 3 Python version: 2.7.5 (default,Jun 24 2015,00:41:19) [GCC 4.8.3 20140911 (Red Hat 4.8.3-9)] Set PythonHome to /var/www/daimaduan/preview/venv Python main interpreter initialized at 0x865410 python threads support enabled your server socket listen backlog is limited to 100 connections your mercy for graceful operations on workers is 60 seconds mapped 1342720 bytes (1311 KB) for 80 cores *** Operational MODE: preforking+threaded *** WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x865410 pid: 17132 (default app) mountpoint already configured. skip. *** uWSGI is running in multiple interpreter mode *** gracefully (RE)spawned uWSGI master process (pid: 17132) spawned uWSGI worker 1 (pid: 17475,cores: 20) spawned uWSGI worker 2 (pid: 17476,cores: 20) spawned uWSGI worker 3 (pid: 17477,cores: 20) spawned uWSGI worker 4 (pid: 17478,cores: 20)

这也看起来很正常。

这里有一些问题:

为什么uid和gid在/etc/uwsgi.d/daimaduan.ini中/etc/uwsgi.d/daimaduan.ini ?

如何更改/tmp/daimaduan-preview.sock所有权? 我尝试了chown-socket但失败了

为什么我在/var/log/daimaduan/preview/uwsgi.log得到No such file or directory错误?

nginx proxy_pass到一个目录

NGINX反向代理:很多html状态代码400响应,为什么?

Laravel Homestead:403禁止在nginx上

nginx,瘦,和多个主机

Rails使用Websockets与Nginx和独angular兽?

将daimaduan_preview.ini的套接字文件放入/run而不是/tmp 。 就像在这个答案中一样,你的系统可能使用命名空间临时目录 ,这意味着每个服务只能在/tmp看到它自己的文件。

相关文章

Git安装和使用 Git安装和使用 刚开始用git的小白适用,,转自...
fatal: remote origin already exists.解决方法 第一个问题g...
git常用命令(二)查看历史记录 git log [--pretty=oneline]...
git之如何把本地文件上传到远程仓库的指定位置 git专栏收录该...
代码规范之 lint-staged 在代码提交之前,进行代码规则检查能...
方法:1、文件没有git操作时用“git checkout--文件”命令还...