Come configurare Django con IIS 8?


11

In passato ho provato a far funzionare Django con IIS 8 in Anteprima sviluppatore Windows 8. Ora che l'anteprima del consumatore di Windows 8 è uscita, mi chiedevo se potevo ottenere alcune istruzioni dettagliate sulla configurazione di Django in IIS.

Come posso fare per questo processo - non so quasi da dove cominciare. Ho bisogno di un modulo ISAPI specifico?

Risposte:


19

Questo processo non è esattamente banale ma è possibile utilizzare i seguenti passaggi:

  1. Innanzitutto, scarica e installa Python 2.6 . (Il motivo per cui suggerisco Python 2.6 invece di Python 2.7 è perché l'ultima versione di Python supportata dal modulo PyISAPIe è Python 2.6.) Prendi nota della posizione in cui installi Python ( C:\Python26per impostazione predefinita se ricordo correttamente).

  2. Fare clic con il tasto destro del mouse su Computer e fare clic su Proprietà. Fai clic su Impostazioni di sistema avanzate a sinistra.

    inserisci qui la descrizione dell'immagine

  3. Fai clic sulla scheda Avanzate, quindi fai clic sul pulsante Variabili d'ambiente. Individua percorso nella casella di riepilogo inferiore:

    inserisci qui la descrizione dell'immagine

  4. Fai clic sul pulsante "Modifica ..." e vai alla fine Valore variabile e inserisci ;C:\Python26(un punto e virgola più il percorso in cui hai installato Python):

    inserisci qui la descrizione dell'immagine

  5. Fare clic su OK per chiudere tutte le finestre di dialogo.

  6. Quindi, scarica l'ultima versione di PyISAPIe qui . Estrai il contenuto dell'archivio da qualche parte e apri la directory.

  7. Quindi, apri il Pannello di controllo, fai clic su Programmi e funzionalità e fai clic su "Attiva o disattiva le funzionalità di Windows" a sinistra.

    inserisci qui la descrizione dell'immagine

  8. Passare a Internet Information Services -> World Wide Web Services -> Funzionalità di sviluppo delle applicazioni e assicurarsi che le estensioni ISAPI siano selezionate.

    inserisci qui la descrizione dell'immagine

  9. Applicare le modifiche e quindi aprire Gestione IIS. Fare doppio clic sull'icona Mapping gestori.

    inserisci qui la descrizione dell'immagine

  10. Fai clic su Aggiungi mappatura modulo a destra. Nella finestra di dialogo che appare, inserisci le seguenti informazioni:

    • Percorso richiesta: *
    • Modulo: IsapiModule
    • Eseguibile (opzionale): [Sfoglia il percorso in cui hai estratto PyISAPIe e seleziona PyISAPIe.dll]
    • Nome: Python tramite PyISAPIe


    Dovrebbe assomigliare a qualcosa di simile a questo:

    inserisci qui la descrizione dell'immagine

  11. Prima di chiudere la finestra di dialogo, fare clic su Richiedi restrizioni, deselezionare "Richiama gestore solo se la richiesta è mappata su:" e fare clic su OK. Fare anche clic su OK per chiudere la finestra di dialogo Aggiungi mappatura modulo (fare clic su Sì se viene richiesto se si desidera aggiungere l'estensione con una voce consentita all'elenco Restrizioni ISAPI e CGI).

    inserisci qui la descrizione dell'immagine

  12. Il prossimo passo è scaricare Django . Estrarre il contenuto dell'archivio da qualche parte (notando la posizione). Apri un Prompt dei comandi (puoi farlo premendo Win+ R, digitando cmde colpendo Enter) e digita cdseguito dalla posizione in cui hai estratto Django per:

    inserisci qui la descrizione dell'immagine

  13. Premere Enter, digitare cd dj, quindi premere Tab. Questo dovrebbe completare il percorso della cartella Django e puoi premere Enterper aprire la directory. Ora digita python setup.py install:

    inserisci qui la descrizione dell'immagine

  14. Ora devi creare il progetto Django. Ad esempio, creeremo i progetti sotto C:\Django. Nella finestra di comando, digitare i comandi di seguito seguiti da Enter:

    • cd C:\
    • mkdir Django
    • cd Django
    • python C:\Python26\Lib\site-packages\django\bin\django-admin.py startproject test


    Questo crea un progetto chiamato 'test'.

  15. Una volta completato correttamente il processo, l'ultima attività rimanente è connettere PyISAPIe a Django. Per fare ciò, torna alla directory in cui hai estratto PyISAPIe e cerca una directory Http. All'interno c'è un file Isapi.py. Aprilo in un editor di testo e sostituisci i contenuti con i seguenti:

    from django.core.handlers.wsgi import WSGIHandler as DjangoHandler
    from Http.WSGI import RunWSGI
    from Http import Env
    import os, sys
    
    sys.path.append('C:\Django')
    os.environ['DJANGO_SETTINGS_MODULE'] = 'test.settings'
    
    def Request():
    
        PathInfo = Env.PATH_INFO
    
        if not PathInfo.startswith('/'):
            return True
    
        for Excl in ['/media']:
            if PathInfo.startswith(Excl):
                return True
    
        return RunWSGI(DjangoHandler(), Base='/')
    
  16. Copia la directory Http C:\Python26\Lib\site-packages(o la directory appropriata se hai installato Python altrove).

  17. Riavvia IIS (puoi farlo facendo clic su "riavvia" nella parte destra di Gestione IIS):

    inserisci qui la descrizione dell'immagine

  18. Se tutto ha funzionato correttamente, dovresti essere in grado di visitare http: // localhost per visualizzare il tuo nuovo sito Django:

    inserisci qui la descrizione dell'immagine


Ulteriori note e aggiunte

  • Da allora ho compilato personalmente PyISAPIe per Python 2.7 (sia a 32-bit che a 64-bit) e ho caricato i file qui: http://www.box.com/s/a5fb1b21fcdf738d2590

  • Nel passaggio 6, è necessario assicurarsi che pyisapie.dllsi trovi in ​​una directory a cui IIS abbia almeno l'accesso in lettura. Non prendere in considerazione ciò comporterà strani errori.


2
Maledettamente bella risposta, George. +1
Kev

1
Questa bella risposta mi ha appena salvato
Trinh Hoang Nhu il

Grazie, ma sto lottando per farlo funzionare. Non si menziona la creazione di un sito Web IIS (in Server> Siti). Non devi? Usi il sito Web predefinito / DefaultAppPool? In tal caso, cosa indichi come root del sito web? Inoltre: come faccio a sapere se la DLL funziona? I file .py in Http non vengono mai compilati, quindi non credo che le richieste siano gestite da Python / Django.
Eric Leibenguth,

1

Troverai la guida dettagliata su come installare Django su IIS8 in questo post del blog:

Installazione di Django su IIS: un'esercitazione passo-passo

In breve, è necessario eseguire questi passaggi:

  • Installazione di Python su Windows
  • Installazione di Django
  • Installazione di un progetto Django
  • Esecuzione di un server HTTP di prova
  • Configurazione ed esecuzione di un server FastCGI
  • Configurazione di IIS per l'esecuzione di un'applicazione FastCGI
  • Configurazione delle risorse statiche e delle directory multimediali
  • Una nota sui database (note sui driver compatibili per alcuni database)
  • Risoluzione dei problemi (note su come risolvere i problemi)

Spero possa aiutare!


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.