Vra

Ek is verkoop op mod_wsgi en apache eerder as mod_python.Ek het al die dele geïnstalleer (django, apache, mod_wsgi) maar het loop in'n probleem te ontplooi.

Ek is op osx 10.5 met apache 2.2 en django 1.0b2, mod_wsgi-2.3

My aansoek is genoem tred.

Hier is die relevante lêers:httpd-vhosts (ingesluit in httpd-conf)

NameVirtualHost tred:80



  ServerName tred

  Alias /admin_media /usr/lib/python2.5/site-packages/django/contrib/admin/media

  
    Order allow,deny
    Allow from all
  

  Alias /media /Users/dmg/Sites/tred/media

  
    Order allow,deny
    Allow from all
  

  Alias / /Users/dmg/Sites/tred/

  
        Order allow,deny
        Allow from all
    

  WSGIScriptAlias / /Users/dmg/Sites/tred/mod_wsgi-handler.wsgi

  WSGIDaemonProcess tred user=dmg group=staff processes=1 threads=10
  WSGIProcessGroup tred


mod_wsgi-handvatsel.wsgi

import sys
import os

sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/..')
os.environ['DJANGO_SETTINGS_MODULE'] = 'tred.settings'

import django.core.handlers.wsgi

application = django.core.handlers.wsgi.WSGIHandler()

Toe ek gaan om te http://tred Ek kry'n gids lys eerder as die gelewer webwerf.Ek dink ek het die tutoriale reg, maar dit is duidelik nie reg nie.Wat kan ek doen om hierdie werk te maak?

Was dit nuttig?

Oplossing

Wat gebeur as jy die Alias / richtlijn te verwyder?

Ander wenke

Let daarop dat Alias en WSGIScriptAlias voorskrifte nie dieselfde voorrang.Dus, hulle sal nie verwerk word in die lêer orde soos dit geskryf is.In plaas daarvan, al die Alias riglyne kry voorrang bo WSGIScriptAlias riglyne.Dus, sou dit nie saak gemaak as die Alias vir '/' verskyn na WSGIScriptAlias, sou dit nog steeds het voorrang.

  

Dit werk. Ek het geen idee hoekom nie, maar dit doen.

Vir verdere navrae:

Dit werk omdat Apache prosesse alias voorskrifte ten einde, en maak gebruik van die eerste wedstryd. Dit is altyd slaan Alias /, wat enigiets sal pas, voor WSGIScriptAlias.

Van die mod_alias dokumentasie :

  

In die eerste plek al aansture verwerk voordat Aliassen verwerk, en dus 'n versoek om by 'n Redirect of RedirectMatch sal nooit weer hoef Aliassen toegepas. Tweedens, die Aliassen en aansture verwerk in die volgorde waarin hulle verskyn in die konfigurasielêers, met die eerste wedstryd wat voorrang.

probeer om na aanleiding van hierdie handleiding - http://singlas.in/5-step-tutorial-for-using-django-with-apache-and-mod_wsgi/

jy is probeer om aan te bied apache /var/www/ gids en die Django app beide by die wortel (/).Sedert Alias richtlijn voorrang oor WSGIScriptAlias, dit is die lewering van apache directory.

jy kan probeer om aan te bied die django inligting op /app.Alternatiewelik bied die /var/www/ gids op'n ander plek soos /openbare

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top