Ich bin verwirrt. Wo mache ich einen Fehler?
Speicherort der Projektdateien:
/home/username/www
/etc/uwsgi/sites/mysite.com
[uwsgi]
project = www
base =/home/username
uid = www-data
gid = www-data
chdir = %(base)/%(project)
home = %(base)/.virtualenvs/%(project)
module = %(project).wsgi:application
master = true
processes = 5
socket = %(base)/%(project)/%(project).sock
chmod-socket = 664
vacuum = true
/etc/init/uwsgi.conf:
description "uWSGI application server in Emperor mode"
start on runlevel [2345]
stop on runlevel [!2345]
respawn
exec/usr/local/bin/uwsgi --emperor/etc/uwsgi/sites
/etc/nginx/sites-available/mysite.com:
server {
listen 80;
error_log /var/log/nginx/mysite_error.log warn;
server_name www.mysite.com mysite.com;
charset utf-8;
location =/favicon.ico { access_log off; log_not_found off; }
location/static/{
root/home/username/www;
}
location/{
include uwsgi_params;
uwsgi_pass unix:/home/username/www/www.sock;
}
location/media {
alias/home/username/www/media;
}
}
Ich habe 502 Bad Gateway erhalten! Wie kann ich dieses Problem beheben?
In Ihrer uwsgi-Konfiguration geben Sie den Socket an:
socket = 127.0.0.1:8000
Während der nginx-Konfiguration haben Sie:
uwsgi_pass unix:/home/username/www/www.sock;
Sie haben also nicht die richtige Socket-Konfiguration.
Sie müssen entweder beide zum TCP-Socket oder zum Unix-Socket wechseln. Unix Socket ist bevorzugt, Sie sollten dies in Ihrer uwsgi
Konfiguration haben:
socket =/home/username/www/www.sock;
Oder noch besser, haben Sie die Socket-Datei in /var/run/uwsgi.sock
.
Ich habe ein Problem gefunden. Ich installiere uwsgi
zweimal, um pip
und um apt-get
auch.
So uwsgi
deutet auf eine falsche Installation hin und hat keinen Zugriff auf die Socket-Datei.