Nginx-Fehler: (13: Berechtigung verweigert) beim Herstellen einer Verbindung zum Upstream

Ich erhalte diesen Fehler in meinemnginx-error.log Datei:

2014/02/17 03:42:20 [crit] 5455#0: *1 connect() to unix:/tmp/uwsgi.sock failed (13: Permission denied) while connecting to upstream, client: xx.xx.x.xxx, server: localhost, request: "GET /users HTTP/1.1", upstream: "uwsgi://unix:/tmp/uwsgi.sock:", host: "EC2.amazonaws.com"

Der Browser zeigt auch einen 502 Bad Gateway Error an. Die Ausgabe von acurl ist das gleiche, Bad Gateway HTML

Ich habe versucht, das Problem durch Ändern der Berechtigungen für zu beheben/tmp/uwsgi.sock bis 777. Das hat nicht funktioniert. Ich habe mich auch dem hinzugefügtwww-data Gruppe (ein paar Fragen, die ähnlich aussahen, deuteten darauf hin). Auch keine Würfel.

Hier ist meinnginx.conf Datei:

nginx.conf

worker_processes 1;
worker_rlimit_nofile 8192;

events {
  worker_connections  3000; 
}

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                  '$status $body_bytes_sent "$http_referer" '
                  '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on; 
    #tcp_nopush     on; 

    keepalive_timeout  65; 

    #gzip  on; 

    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;
}

Ich führe eine Flask-Anwendung mit Nginsx und Uwsgi aus, um meine Erklärung gründlich zu formulieren. Wenn jemand irgendwelche Ideen hat, würde ich sie wirklich schätzen.

BEARBEITEN

Ich wurde gebeten, meine uwsgi-Konfigurationsdatei anzugeben. Also habe ich meine Nginx- oder Uwsgi-Datei nie persönlich geschrieben. Ich folgte dem FührerHier was alles mit ansible-playbook einrichtet. Dasnginx.conf Datei wurde automatisch generiert, aber es war nichts in/etc/uwsgi außer aREADME Datei in beidenapps-enabled undapps-available Ordner. Muss ich meine eigene Konfigurationsdatei für uwsgi erstellen? Ich hatte den Eindruck, dass Ansible sich um all diese Dinge gekümmert hat.

Ich glaube dasansible-playbook habe meine uwsgi-Konfiguration herausgefunden, seitdem ich diesen Befehl ausgeführt habe

uwsgi -s /tmp/uwsgi.sock -w my_app:app

es startet und gibt folgendes aus:

*** Starting uWSGI 2.0.1 (64bit) on [Mon Feb 17 20:03:08 2014] ***
compiled with version: 4.7.3 on 10 February 2014 18:26:16
os: Linux-3.11.0-15-generic #25-Ubuntu SMP Thu Jan 30 17:22:01 UTC 2014
nodename: ip-10-9-xxx-xxx
machine: x86_64
clock source: unix
detected number of CPU cores: 1
current working directory: /home/username/Project
detected binary path: /usr/local/bin/uwsgi
!!! no internal routing support, rebuild with pcre support !!!
*** WARNING: you are running uWSGI without its master process manager ***
your processes number limit is 4548
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 bound to UNIX address /tmp/uwsgi.sock fd 3
Python version: 2.7.5+ (default, Sep 19 2013, 13:52:09)  [GCC 4.8.1]
*** Python threads support is disabled. You can enable it with --enable-threads ***
Python main interpreter initialized at 0x1f60260
your server socket listen backlog is limited to 100 connections
your mercy for graceful operations on workers is 60 seconds
mapped 72760 bytes (71 KB) for 1 cores
*** Operational MODE: single process ***
WSGI app 0 (mountpoint='') ready in 3 seconds on interpreter 0x1f60260 pid: 26790 (default app)
*** uWSGI is running in multiple interpreter mode ***
spawned uWSGI worker 1 (and the only) (pid: 26790, cores: 1)

Antworten auf die Frage(5)

Ihre Antwort auf die Frage