Bagaimana cara mengatur Django dengan IIS 8?

11

Saya telah mencoba di masa lalu untuk menjalankan Django di bawah IIS 8 di Pratinjau Pengembang Windows 8. Sekarang setelah Consumer Preview of Windows 8 keluar, saya bertanya-tanya apakah saya bisa mendapatkan beberapa petunjuk terperinci tentang pengaturan Django dalam IIS.

Bagaimana saya menjalani proses ini - saya tidak tahu harus mulai dari mana. Apakah saya memerlukan modul ISAPI tertentu?

Nathan Osman
sumber

Jawaban:

19

Proses ini tidak sepenuhnya sepele tetapi dimungkinkan menggunakan langkah-langkah berikut:

  1. Pertama, unduh dan instal Python 2.6 . (Alasan saya menyarankan Python 2.6 bukan Python 2.7 adalah karena versi Python terbaru yang didukung oleh modul PyISAPIe adalah Python 2.6.) Catat lokasi Anda menginstal Python ( C:\Python26secara default jika saya ingat dengan benar).

  2. Klik kanan Komputer dan klik Properti. Klik Pengaturan Sistem Lanjut di sebelah kiri.

    masukkan deskripsi gambar di sini

  3. Klik tab lanjutan dan kemudian klik tombol Variabel Lingkungan. Temukan Path di kotak daftar bawah:

    masukkan deskripsi gambar di sini

  4. Klik tombol "Edit ..." dan pergi ke Nilai Variabel akhir dan masukkan ;C:\Python26(tanda titik koma ditambah jalur tempat Anda menginstal Python):

    masukkan deskripsi gambar di sini

  5. Klik OK untuk mengabaikan semua dialog.

  6. Selanjutnya, unduh versi PyISAPIe terbaru di sini . Ekstrak isi arsip di suatu tempat dan buka direktori.

  7. Selanjutnya, buka Panel Kontrol, klik Program dan Fitur, dan klik "Aktifkan atau nonaktifkan fitur Windows" di sebelah kiri.

    masukkan deskripsi gambar di sini

  8. Jelajahi Layanan Informasi Internet -> Layanan World Wide Web -> Fitur Pengembangan Aplikasi dan kemudian pastikan ISAPI Extensions dicentang.

    masukkan deskripsi gambar di sini

  9. Terapkan perubahan dan kemudian buka IIS Manager. Klik dua kali ikon Handler Mappings.

    masukkan deskripsi gambar di sini

  10. Klik Tambahkan Pemetaan Modul di sebelah kanan. Dalam dialog yang muncul, masukkan informasi berikut:

    • Jalur permintaan: *
    • Modul: IsapiModule
    • Executable (opsional): [Jelajahi jalur tempat Anda mengekstrak PyISAPIe dan pilih PyISAPIe.dll]
    • Nama: Python via PyISAPIe


    Seharusnya terlihat seperti ini:

    masukkan deskripsi gambar di sini

  11. Sebelum menutup dialog, klik Batasan Permintaan, hapus centang "Hanya aktifkan penangan jika permintaan dipetakan ke:", dan klik OK. Juga klik OK untuk menutup dialog Tambah Modul Pemetaan (klik Ya jika Anda ditanya apakah Anda ingin menambahkan ekstensi dengan entri yang Diizinkan ke daftar Pembatasan ISAPI dan CGI).

    masukkan deskripsi gambar di sini

  12. Langkah selanjutnya adalah mengunduh Django . Ekstrak isi arsip di suatu tempat (mencatat lokasi). Buka Command Prompt (Anda dapat melakukan ini dengan menekan Win+ R, mengetik cmddan menekan Enter) dan ketik cddiikuti oleh lokasi Anda mengekstrak Django ke:

    masukkan deskripsi gambar di sini

  13. Tekan Enter, ketik cd dj, lalu tekan Tab. Ini akan menyelesaikan jalur ke folder Django dan Anda dapat menekan Enteruntuk membuka direktori. Sekarang ketik python setup.py install:

    masukkan deskripsi gambar di sini

  14. Sekarang Anda perlu membuat proyek Django. Sebagai contoh tujuan, kami akan membuat proyek di bawah C:\Django. Di jendela perintah, ketik perintah di bawah ini diikuti oleh Enter:

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


    Ini menciptakan proyek bernama 'test'.

  15. Setelah proses selesai dengan sukses, tugas terakhir yang tersisa adalah menghubungkan PyISAPIe ke Django. Untuk melakukan ini, kembali ke direktori tempat Anda mengekstrak PyISAPIe dan cari direktori Http. Di dalamnya ada file Isapi.py. Buka di editor teks dan ganti konten dengan yang berikut:

    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. Salin direktori Http ke C:\Python26\Lib\site-packages(atau direktori yang sesuai jika Anda menginstal Python di tempat lain).

  17. Mulai ulang IIS (Anda dapat melakukannya dengan mengeklik "mulai ulang" di sisi kanan Manajer IIS):

    masukkan deskripsi gambar di sini

  18. Jika semuanya bekerja dengan benar, Anda harus dapat membuka http: // localhost untuk melihat situs Django baru Anda:

    masukkan deskripsi gambar di sini


Catatan dan Tambahan Lebih Lanjut

  • Sejak itu saya telah mengkompilasi PyISAPIe untuk Python 2.7 sendiri (baik 32-bit dan 64-bit) dan mengunggah file-file di sini: http://www.box.com/s/a5fb1b21fcdf738d2590

  • Pada langkah # 6, Anda perlu memastikan bahwa pyisapie.dllada dalam direktori yang IIS memiliki setidaknya membaca akses. Gagal mempertimbangkan hal ini akan menghasilkan kesalahan aneh.

Nathan Osman
sumber
2
Bagus sekali, jawaban yang bagus. +1
Kev
1
Jawaban yang sangat bagus ini menyelamatkan saya
Trinh Hoang Nhu
Terima kasih, tetapi saya berjuang untuk membuatnya bekerja. Anda tidak menyebutkan bahwa Anda membuat situs web IIS (di Server> Situs). Bukankah kamu harus? Apakah Anda menggunakan Situs Web / DefaultAppPool Default? Jika demikian, lalu apa yang Anda indikasikan sebagai root situs web? Juga: Bagaimana saya tahu bahwa DLL berfungsi? File .py di bawah Http tidak pernah dikompilasi, jadi saya tidak berpikir permintaan ditangani oleh Python / Django.
Eric Leibenguth
1

Anda akan menemukan panduan terperinci bagaimana menginstal Django di IIS8 di dalam posting blog ini:

Menginstal Django pada IIS: Tutorial Langkah-demi-Langkah

Singkatnya, langkah-langkah ini perlu dilakukan:

  • Menginstal Python di Windows
  • Menginstal Django
  • Menginstal proyek Django
  • Menjalankan server HTTP uji
  • Mengkonfigurasi dan menjalankan server FastCGI
  • Mengkonfigurasi IIS untuk menjalankan aplikasi FastCGI
  • Mengkonfigurasi direktori sumber daya dan media statis
  • Catatan tentang basis data (catatan tentang driver yang kompatibel untuk beberapa basis data)
  • Pemecahan masalah (catatan tentang cara memecahkan masalah)

Semoga itu bisa membantu!

Dmitry Pavlov
sumber