Ich arbeite daran, wie man Django-Anwendungen mit uWSGI und Nginx unter Ubuntu 16.04 bedient .
Ich habe das Tut abgeschlossen und sowohl Nginx als auch Uwsgi neu gestartet. Ich stelle fest, dass ich meine Site sehe, wenn ich zur IP meines Servers gehe (was mich denken lässt, dass uwsgi richtig funktioniert). Wenn ich jedoch zu gehe www.mysite.com
, erhalte ich den Fehler 502. Meine Nginx-Konfigurationsdatei im /etc/nginx/sites-available
is mysite
enthält:
server {
listen 80;
server_name mysite.com www.mysite.com;
location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
root /home/deploy/mysite;
}
location / {
include uwsgi_params;
uwsgi_pass unix:/run/uwsgi/mysite.sock;
}
Was mache ich falsch?
$ systemctl status uwsgi
Failed to connect to bus: No such file or directory
Ich bin verwirrt, ich weiß, ich habe an einer Reihe von uwsgi-Dateien gearbeitet und
$ sudo systemctl start uwsgi
verursacht keinen Fehler. Auch die Website wird weiterhin unter der IP-Adresse bedient. Ich dachte, Uwsgi würde das tun.
$ netstat -a|grep uwsgi
unix 2 [ ACC ] STREAM LISTENING 2373238691 /run/uwsgi/mysite.sock
/var/log/nginx/error.log
möglicherweise der Fehler angezeigt.Antworten:
Der 502 Bad Gateway-Fehler bedeutet, dass der Server keine ordnungsgemäße Antwort von einem anderen Server erhält. In Ihrem Fall ist es
uWSGI
Server. Es wird entweder nicht ausgeführt oder aufgrund eines Fehlers gestoppt.Überprüfen Sie den Status des uWSGI-Servers mithilfe von
sudo systemctl status uwsgi
.quelle
In php7 ist www-conf in:
/etc/php/7.0/fpm/pool.d
In dieser Datei finde ich Folgendes:
Ich habe einen Parameter in gesetzt
/etc/nginx/sites-available/[site]
Und es funktioniert :)
quelle
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
wie Sie sagten, dies kommt von php-fpm, das eine Konfigurationsänderung zu127.0.0.1:9000