title: Got 'No such file or directory' error while configuring nginx and uwsgi
body: <p><strong>UPDATE: if I don't use socket and use <code>127.0.0.1:3031</code> instead, everything works fine.</strong></p>
  
  <p>Nginx version is 1.6.3, and uwsgi is 2.0.11.1</p>
  
  <p>/etc/uwsgi.ini:</p>
  
  <pre><code>[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
  </code></pre>
  
  <p>/etc/uwsgi.d/daimaduan_preview.ini</p>
  
  <pre><code>[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
  </code></pre>
  
  <p>/etc/nginx/conf.d/daimaduan.conf</p>
  
  <pre><code>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;
      }
  }
  </code></pre>
  
  <p>However, I got errors from nginx by visiting <a href="http://127.0.0.1/" rel="nofollow">http://127.0.0.1/</a>:</p>
  
  <pre><code>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, 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:28:13 [crit] 16995#0: *3 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 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, 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 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, 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 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, 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 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, 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 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, 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 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, client: 127.0.0.1, server: , request: "GET / HTTP/1.1", upstream: "uwsgi://unix:/tmp/daimaduan-preview.sock:", host: "127.0.0.1"
  </code></pre>
  
  <p>And I am pretty sure <code>/tmp/daimaduan-preview.sock</code> does exist. I also checked uwsgi log:</p>
  
  <pre><code>*** 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)
  </code></pre>
  
  <p>It also looks normal.</p>
  
  <p>Some questions here:</p>
  
  <ol>
  <li>why uid and gid does not take effect in <code>/etc/uwsgi.d/daimaduan.ini</code>?</li>
  <li>how to change ownership for <code>/tmp/daimaduan-preview.sock</code>? I tried <code>chown-socket</code> but failed</li>
  <li>why did I get <code>No such file or directory</code> errors in <code>/var/log/daimaduan/preview/uwsgi.log</code>?</li>
  </ol>