2016-11-03 2 views
2

Ich versuche, nginx und uwsgi zu Django (Bachstelze um genau zu sein) app auf /blog Unterpfad zu konfigurieren. Die meisten Antworten auf diese Frage (wie this one) vorschlagen, mit:Django App hat falsche URLs bei der Konfiguration auf Nginx + uwsgi mit Unterpfad

location /blog { 
    include uwsgi_params; 
    uwsgi_pass unix:/run/uwsgi/application.sock; 
    uwsgi_param SCRIPT_NAME /blog; 
    uwsgi_modifier1 30; 
} 

Leider ist es nicht für mich arbeiten. Der Zugriff auf /blog dupliziert den Unterpfad und leitet ihn an /blog/blog/ weiter. Wagtail zeigt dann seine 404 Seite, da /blog/blog/ nicht existiert. Ich bin mir nicht sicher, ob es Nginx oder Django-Problem ist.

Antwort

0

Ich hatte ähnliches Problem, hier ist, was ich getan habe, um es zu beheben. Funktioniert mit Wagtail 1.13 + uwsgi + nginx/1.10.3 (Ubuntu).

in Bachstelze Blog/Einstellungen/base.py:

ROOT_URL = '/blog' 
USE_X_FORWARDED_HOST = True 
FORCE_SCRIPT_NAME  = ROOT_URL 
BASE_PATH    = ROOT_URL 

APP_SUB_URL = ROOT_URL 
if len(APP_SUB_URL): 
    FORCE_SCRIPT_NAME = APP_SUB_URL 

STATIC_URL = APP_SUB_URL + "/static/" 
MEDIA_URL = APP_SUB_URL + "/media/" 
ADMIN_MEDIA_PREFIX = APP_SUB_URL + "/static/admin/" 
LOGIN_URL = APP_SUB_URL + "/login/" 

in nginx blog.conf Datei:

location /blog/ { 
    include uwsgi_params; 
    rewrite /blog/(.*) /$1 break; 
    uwsgi_pass  unix:/run/uwsgi/application.sock; 
} 

auch, können Sie haben nginx die statischen Dateien verarbeiten für bessere Leistung:

location /blog/static/ { 
    access_log off; 
    expires 3600; 
    alias /path/to/wagtail/app/blog/static/; 
} 

location /blog/media/ { 
    access_log off; 
    expires 864000; 
    alias /path/to/wagtail/app/media/; 
} 

Ich musste auch Symlinks zu den statischen Admin-Dateien hinzufügen in/path/zu/stagtail/app/blog/static/

cd /path/to/wagtail/app/blog/static/ 
ln -s ../../../venv/lib/python3.5/site-packages/wagtail/wagtailadmin/static/wagtailadmin/ 
ln -s ../../../venv/lib/python3.5/site-packages/wagtail/wagtaildocs/static/wagtaildocs/ 
ln -s ../../../venv/lib/python3.5/site-packages/wagtail/wagtailembeds/static/wagtailembeds/ 
ln -s ../../../venv/lib/python3.5/site-packages/wagtail/wagtailimages/static/wagtailimages/ 
ln -s ../../../venv/lib/python3.5/site-packages/wagtail/wagtailsnippets/static/wagtailsnippets/ 
Verwandte Themen