django gunicorn sock Datei nicht erstellt von wsgi

Habe ich eine basic-django-rest-Anwendung in meinem digital-Ozean-server (Ubuntu 16.04) mit einem lokalen virtuellen Umgebung.
Die grundlegenden wsgi.py ist:

import os

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "workout_rest.settings")

# This application object is used by any WSGI server configured to use this
# file. This includes Django's development server, if the WSGI_APPLICATION
# setting points here.
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()

# Apply WSGI middleware here.
# from helloworld.wsgi import HelloWorldApplication
# application = HelloWorldApplication(application)

Folge ich Schritt für Schritt dieses tutorial:
https://www.digitalocean.com/community/tutorials/how-to-set-up-django-with-postgres-nginx-and-gunicorn-on-ubuntu-16-04

Wenn ich testen Gunicorn die Fähigkeit zu dienen, das Projekt mit diesem Befehl:
gunicorn --bind 0.0.0.0:8000 myproject.wsgi:Anwendung
Alles funktioniert gut.

So, ich habe versucht, das setup Gunicorn zu verwenden systemd service Datei.
Meine /etc/systemd/system/gunicorn.Dienst Datei:

[Unit]
Description=gunicorn daemon
After=network.target

[Service]
User=ben
Group=www-data
WorkingDirectory=/home/ben/myproject
ExecStart=/home/ben/myproject/myprojectenv/bin/gunicorn --workers 3 --bind unix:/home/ben/myproject/myproject.sock myproject.wsgi:application

[Install]
WantedBy=multi-user.target

Meine Nginx-Konfiguration ist:

server {
    listen 8000;
    server_name server_domain_or_IP;

    location = /favicon.ico { access_log off; log_not_found off; }
    location /static/ {
        root /home/ben/myproject;
    }

    location / {
        include proxy_params;
        proxy_pass http://unix:/home/ben/myproject/myproject.sock;
    }
}

Habe ich geändert listen port von 80 auf 8000, da 80 geben Sie mir eine err_connection_refused Fehler.
Nach dem Start der server mit diesem Befehl:

sudo systemctl restart nginx

Wenn ich versuche auf meine Webseite bekomme ich einen 502 Bad Gateway Fehler.
Ich habe versucht, diese Befehle (auf der tutorial-Kommentare):

sudo systemctl daemon-reload
sudo systemctl start gunicorn
sudo systemctl enable gunicorn
sudo systemctl restart nginx

aber es ändert sich nichts.
Wenn ich einen Blick auf die Nginix Protokolle mit diesem Befehl:

sudo tail -f /var/log/nginx/error.log

Kann ich Lesen, dass die sock Datei nicht existiert:

2016/10/07 09:00:18 [crit] 24974#24974: *1 connect() to unix:/home/ben/myproject/myproject.sock failed (2: No such file or directory) while connecting to upstream, client: 86.197.20.27, server: 139.59.150.116, request: "GET /HTTP/1.1", upstream: "http://unix:/home/ben/myproject/myproject.sock:/", host: "server_ip_adress:8000"

Warum diese Socke-Datei nicht erstellt? Wie kann ich konfigurieren, django/gunicorn um diese Datei zu erstellen?
Ich habe gunicorn in meinem INSTALLED_APP in meinem Django-Projekt, aber es ändert sich nichts.

EDIT:

Wenn ich testen die nginx-config-Datei mit nginx -t bekomme ich eine Fehlermeldung: open() "/run/nginx.pid" failed (13: Permission denied).
Aber wenn ich den Befehl ausführen mit sudo: sudo nginx -t ist, ist der test erfolgreich. Bedeutet das, dass ich zulassen, dass 'ben' Benutzer zum ausführen von Ngnix?

Über gunicorn logfile, ich kann nicht einen Weg finden, Sie zu Lesen. Wo werden Sie gespeichert?

Wenn ich überprüfen, ob gunicorn ausgeführt wird, mithilfe von ps aux | grep gunicorn:

ben      26543  0.0  0.2  14512  1016 pts/0    S+   14:52   0:00 grep --color=auto gunicorn

Hier ist hat passiert beim ausführen von systemctl enable-und start-Befehle für gunicorn:

sudo systemctl enable gunicorn
Synchronizing state of gunicorn.service with SysV init with /lib/systemd/systemd-sysv-install...
Executing /lib/systemd/systemd-sysv-install enable gunicorn

sudo systemctl start gunicorn
I get no output with this command

sudo systemctl is-active gunicorn
active

sudo systemctl status gunicorn
 gunicorn.service - gunicorn daemon
   Loaded: loaded (/etc/systemd/system/gunicorn.service; enabled; vendor preset: enabled)
   Active: active (exited) since Thu 2016-10-06 15:40:29 UTC; 23h ago

Oct 06 15:40:29 DevUsine systemd[1]: Started gunicorn.service.
Oct 06 18:52:56 DevUsine systemd[1]: Started gunicorn.service.
Oct 06 20:55:05 DevUsine systemd[1]: Started gunicorn daemon.
Oct 06 20:55:17 DevUsine systemd[1]: Started gunicorn daemon.
Oct 06 21:07:36 DevUsine systemd[1]: Started gunicorn daemon.
Oct 06 21:16:42 DevUsine systemd[1]: Started gunicorn daemon.
Oct 06 21:21:38 DevUsine systemd[1]: Started gunicorn daemon.
Oct 06 21:25:28 DevUsine systemd[1]: Started gunicorn daemon.
Oct 07 08:58:43 DevUsine systemd[1]: Started gunicorn daemon.
Oct 07 15:01:22 DevUsine systemd[1]: Started gunicorn daemon.
funktioniert alles folgende wiederum ein Fehler? 1. Testen Sie die nginx-config-Datei mit nginx -t. 2. Überprüfen Sie die gunicorn logfile. 3. Prüfen Sie, ob gunicorn ausgeführt wird, mithilfe, z.B. ps aux | grep gunicorn. Wenn diese wiederum einen Fehler, bitte fügen Sie zu Ihrer Frage.
Was passiert beim ausführen von systemctl enable-und start-Befehle für gunicorn? Und was sehen Sie, wenn Sie sudo systemctl is-active gunicorn oder sudo systemctl status gunicorn?
Danke für deinen Kommentar @YPCrumble. Ich habe meinen Beitrag aktualisiert.
Danke für deinen Kommentar @DanielRoseman. Ich habe meinen Beitrag aktualisiert.
post was Sie sehen auf /var/log/syslog. Hast du die firewall richtig mit sudo ufw delete allow 8000 und sudo ufw allow 'Nginx Full'? Ist die nginx-Datei, die Sie geschrieben richtig symlinked auf /etc/nginx/sites-enabled?

InformationsquelleAutor Ben | 2016-10-07

Schreibe einen Kommentar