Ich hatte große Probleme, Django mit der Kombination von Titeln bereitzustellen, also machte ich mir eine Notiz für das nächste Mal. Ich werde den Ort verlassen, an dem ich süchtig war.
Die Kombination ist wie folgt
Django
Machen Sie es bis zu einem gewissen Grad und führen Sie den folgenden Befehl aus, um zu bestätigen, dass die Anwendung über den Browser funktioniert. Wenn dies nicht möglich ist, ist es sinnlos, Folgendes zu tun.
$ python manage.py runserver 0.0.0.0:8000
uWSGI wurde mit apt installiert, hat aber nicht funktioniert. Ich war alleine 2 Tage lang süchtig danach.
Wenn uwsgi mit sudo ausgeführt wird, erscheint der folgende Fehler und es funktioniert nicht gut.
$ sudo uwsgi ***
Wenn ich es mit einem Browser überprüfe, zeigt das Protokoll, dass keine Python-Anwendung gefunden wurde.
--- no python application found, check your startup logs for errors ---
[pid: 10523|app: -1|req: -1/1] 121.101.66.160 () {40 vars in 785 bytes} [Sun Feb 19 14:12:06 2017] GET / => generated 21 bytes in 0 msecs (HTTP/1.1 500) 2 headers in 83 bytes (0 switches on core 0)
Wenn Sie googeln, finden Sie diese Informationen ... http://www.yodiaditya.com/no-python-application-found-check-your-startup-logs-for-errors/
sudo apt-get remove uwsgi*
sudo apt-get purge uwsgi*
Installieren Sie uWSGI über pip. (Ich habe vergessen, sudo hinzuzufügen)
pip install uwsgi
Bestätigen Sie, bevor Sie eine INI-Datei erstellen (http). Greifen Sie mit einem Browser auf http: // ****: 8889 / admin zu.
$ uwsgi --http :8888 --file /home/<user>/<pass>/<to>/<projectname>/<projectname>/wsgi.py
Ich habe die Seite gesehen.
Es wurde wie folgt eingestellt. Vorerst an Port 8878.
# sudo vi /etc/nginx/conf.d/uwsgi.conf
upstream django {
server unix:///tmp/<projectname>.sock;
}
server {
listen 8887;
access_log /var/log/nginx/<projectname>_access.log;
error_log /var/log/nginx/<projectname>_error.log;
location /static {
alias /home/<user>/<pass>/<to>/<projectname>/static/;
}
location / {
include uwsgi_params;
uwsgi_pass django;
}
}
Überprüfen Sie den Vorgang im Browser, nachdem Sie uWSGI gestartet haben
$ uwsgi --socket /tmp/<projectname>.sock --chmod-socket=666 --file /home/<user>/<pass>/<to>/<projectname>/<projectname>/wsgi.py
Überprüfen Sie mit einem Browser (http: // ****: 8877 / admin)
error removing unix socket, unlink(): Operation not permitted [core/socket.c line 198]
Gibt es noch eine Socket-Datei, wenn uWSGI über apt eingefügt wird? Ich habe einen Berechtigungsfehler erhalten. Löschen Sie die Socket-Datei mit rm.
sudo rm /tmp/<projectname>.sock
Ich habe uwsgi erneut gestartet und es erneut mit einem Browser überprüft, um es zu sehen.
Dies wird von apt eingegeben.
sudo apt-get install supervisor
Datei einstellen (Ich weiß nicht, ob es passt, aber es funktioniert vorerst ...)
# sudo vi /etc/supervisor/conf.d/uwsgi.conf
[program:uwsgi]
directory = /home/<user>/<pass>/<to>/<projectname>
command = /home/<user>/.pyenv/shims/uwsgi --ini /etc/uwsgi/apps-enabled/<projectname>.ini
stopasgroup = true
numprocs = 1
autostart = true
autorestart = true
user=root
redirect_stderr = true
stdout_logfile = /var/log/supervisor/uwsgi.log
Statusprüfung
sudo supervisorctl status
http://*****:8889/adminとかで開けばOK! Starten Sie den Server neu und prüfen Sie, ob Sie erneut darauf zugreifen können und es in Ordnung ist!
Recommended Posts