วิธีการตั้งค่า Django ด้วย IIS 8


11

ฉันได้ลองในอดีตเพื่อให้ Django ทำงานภายใต้ IIS 8 ใน Windows 8 Developer Preview ตอนนี้ Consumer Preview ของ Windows 8 หมดไปแล้วฉันสงสัยว่าฉันจะได้รับคำแนะนำโดยละเอียดเกี่ยวกับการตั้งค่า Django ภายใน IIS หรือไม่

ฉันจะทำอย่างไรเกี่ยวกับกระบวนการนี้ - ฉันแทบไม่รู้ว่าจะเริ่มต้นอย่างไร ฉันต้องการโมดูล ISAPI ที่เฉพาะเจาะจงหรือไม่?

คำตอบ:


19

กระบวนการนี้ไม่สำคัญ แต่ก็เป็นไปได้โดยใช้ขั้นตอนต่อไปนี้:

  1. ขั้นแรกให้ดาวน์โหลดและติดตั้งPython 2.6 (เหตุผลที่ฉันแนะนำ Python 2.6 แทนที่จะเป็น Python 2.7 เป็นเพราะ Python เวอร์ชันล่าสุดที่สนับสนุนโดยโมดูล PyISAPIe คือ Python 2.6) จดบันทึกตำแหน่งที่คุณติดตั้ง Python ไว้ ( C:\Python26โดยค่าเริ่มต้นหากฉันจำไม่ผิด)

  2. คลิกขวาที่ Computer และคลิก Properties คลิกการตั้งค่าระบบขั้นสูงทางด้านซ้าย

    ป้อนคำอธิบายรูปภาพที่นี่

  3. คลิกแท็บขั้นสูงแล้วคลิกปุ่มตัวแปรสภาพแวดล้อม ค้นหาเส้นทางในกล่องรายการด้านล่าง:

    ป้อนคำอธิบายรูปภาพที่นี่

  4. คลิกปุ่ม "แก้ไข ... " และไปที่จุดสิ้นสุดค่าตัวแปรและแทรก;C:\Python26(เครื่องหมายอัฒภาครวมถึงเส้นทางที่คุณติดตั้ง Python ไว้):

    ป้อนคำอธิบายรูปภาพที่นี่

  5. คลิกตกลงเพื่อปิดกล่องโต้ตอบทั้งหมด

  6. ถัดไปดาวน์โหลดรุ่นล่าสุดของ PyISAPIe ที่นี่ แตกเนื้อหาของไฟล์เก็บถาวรไว้ที่ใดที่หนึ่งแล้วเปิดไดเรกทอรี

  7. จากนั้นเปิดแผงควบคุมคลิกโปรแกรมและคุณสมบัติแล้วคลิก "เปิดหรือปิดคุณสมบัติ Windows" ทางด้านซ้าย

    ป้อนคำอธิบายรูปภาพที่นี่

  8. เรียกดูบริการข้อมูลทางอินเทอร์เน็ต -> บริการเวิลด์ไวด์เว็บ -> คุณสมบัติการพัฒนาแอปพลิเคชันจากนั้นตรวจสอบให้แน่ใจว่ามีการตรวจสอบส่วนขยายของ ISAPI

    ป้อนคำอธิบายรูปภาพที่นี่

  9. ใช้การเปลี่ยนแปลงแล้วเปิดตัวจัดการ IIS คลิกสองครั้งที่ไอคอนตัวจัดการแมป

    ป้อนคำอธิบายรูปภาพที่นี่

  10. คลิกเพิ่มการทำแผนที่โมดูลทางด้านขวา ในช่องโต้ตอบที่ปรากฏขึ้นให้ป้อนข้อมูลต่อไปนี้:

    • ขอเส้นทาง: *
    • โมดูล: IsapiModule
    • ปฏิบัติการ (ไม่บังคับ): [เรียกดูเส้นทางที่คุณแยก PyISAPIe แล้วเลือกPyISAPIe.dll]
    • ชื่อ: Python ผ่าน PyISAPIe


    ควรมีลักษณะดังนี้:

    ป้อนคำอธิบายรูปภาพที่นี่

  11. ก่อนที่จะปิดกล่องโต้ตอบคลิกข้อ จำกัด การร้องขอถอนการทำเครื่องหมาย "เรียกใช้ตัวจัดการเฉพาะเมื่อการร้องขอถูกแมปไปที่:" และคลิกตกลง และคลิกตกลงเพื่อปิดกล่องโต้ตอบเพิ่มการแมปโมดูล (คลิกใช่หากคุณถูกถามว่าคุณต้องการเพิ่มส่วนขยายด้วยรายการที่อนุญาตไปยังรายการข้อ จำกัด ของ ISAPI และ CGI)

    ป้อนคำอธิบายรูปภาพที่นี่

  12. ขั้นตอนต่อไปคือการดาวน์โหลดDjango แยกเนื้อหาของไฟล์เก็บถาวรบางแห่ง (สังเกตตำแหน่ง) เปิดพรอมต์คำสั่ง (คุณสามารถทำได้โดยกดWin+ Rพิมพ์cmdและกดปุ่มEnter) แล้วพิมพ์cdตามด้วยตำแหน่งที่คุณแตก Django ไปที่:

    ป้อนคำอธิบายรูปภาพที่นี่

  13. กดEnterพิมพ์และผลักดันแล้วcd dj Tabการดำเนินการนี้จะเสร็จสมบูรณ์เส้นทางไปยังโฟลเดอร์ Django และคุณสามารถกดEnterเพื่อเปิดไดเรกทอรี ตอนนี้พิมพ์python setup.py install:

    ป้อนคำอธิบายรูปภาพที่นี่

  14. ตอนนี้คุณต้องสร้างโครงการ Django C:\Djangoสำหรับวัตถุประสงค์ตัวอย่างเช่นเราจะสร้างโครงการภายใต้ ในหน้าต่างคำสั่งพิมพ์คำสั่งด้านล่างตามด้วยEnter:

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


    สิ่งนี้จะสร้างโครงการชื่อ 'ทดสอบ'

  15. เมื่อกระบวนการเสร็จสมบูรณ์แล้วงานสุดท้ายที่เหลือคือการเชื่อมต่อ PyISAPIe กับ Django เมื่อต้องการทำเช่นนี้กลับไปยังไดเรกทอรีที่คุณแยก PyISAPIe ไปและค้นหาไดเรกทอรี Http Isapi.pyภายในเป็นไฟล์ เปิดในเครื่องมือแก้ไขข้อความและแทนที่เนื้อหาด้วยรายการต่อไปนี้:

    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. คัดลอกไดเรกทอรี Http ไปยังC:\Python26\Lib\site-packages(หรือไดเรกทอรีที่เหมาะสมถ้าคุณติดตั้ง Python ที่อื่น)

  17. รีสตาร์ท IIS (คุณสามารถทำได้โดยคลิกที่ "รีสตาร์ท" ในด้านขวาของตัวจัดการ IIS):

    ป้อนคำอธิบายรูปภาพที่นี่

  18. หากทุกอย่างทำงานอย่างถูกต้องคุณควรไปที่http: // localhostเพื่อดูไซต์ Django ใหม่ของคุณ:

    ป้อนคำอธิบายรูปภาพที่นี่


หมายเหตุเพิ่มเติมและเพิ่มเติม

  • ฉันได้ทำการคอมไพล์ PyISAPIe สำหรับ Python 2.7 ด้วยตัวเอง (ทั้งแบบ 32 บิตและ 64 บิต) และอัปโหลดไฟล์ที่นี่: http://www.box.com/s/a5fb1b21fcdf738d2590

  • ในขั้นตอนที่ # 6 คุณต้องตรวจสอบให้แน่ใจว่าpyisapie.dllอยู่ในไดเรกทอรีที่ IIS มีการเข้าถึงแบบอ่านอย่างน้อย การไม่พิจารณาสิ่งนี้จะส่งผลให้เกิดข้อผิดพลาดแปลก ๆ


2
เลือดคำตอบที่ดีจอร์จ +1
Kev

1
คำตอบที่ดีมากนี้เพียงช่วยฉันด้วย
Trinh Hoang Nhu

ขอบคุณ แต่ฉันกำลังดิ้นรนเพื่อให้มันทำงาน คุณไม่ได้พูดถึงว่าคุณสร้างเว็บไซต์ IIS (ภายใต้เซิร์ฟเวอร์> ไซต์) คุณไม่ต้อง คุณใช้เว็บไซต์เริ่มต้น / DefaultAppPool หรือไม่ ถ้าเป็นเช่นนั้นคุณระบุว่าอะไรเป็นรูทของเว็บไซต์ นอกจากนี้: ฉันจะรู้ได้อย่างไรว่า DLL ทำงานได้อย่างไร ไฟล์. py ภายใต้ Http ไม่เคยถูกคอมไพล์ดังนั้นฉันจึงไม่คิดว่า Python / Django จัดการกับคำร้องขอ
Eric Leibenguth

1

คุณจะพบคำแนะนำโดยละเอียดเกี่ยวกับวิธีการติดตั้ง Django บน IIS8 ภายในโพสต์บล็อกนี้:

การติดตั้ง Django บน IIS: การสอนทีละขั้นตอน

ในระยะสั้นขั้นตอนเหล่านี้จะต้องทำ:

  • ติดตั้ง Python บน Windows
  • กำลังติดตั้ง Django
  • การติดตั้งโครงการ Django
  • ใช้เซิร์ฟเวอร์ HTTP ทดสอบ
  • การกำหนดค่าและเรียกใช้เซิร์ฟเวอร์ FastCGI
  • การกำหนดค่า IIS เพื่อเรียกใช้แอปพลิเคชัน FastCGI
  • การกำหนดค่าสแตติกรีซอร์สและไดเร็กทอรีสื่อบันทึก
  • หมายเหตุเกี่ยวกับฐานข้อมูล (หมายเหตุเกี่ยวกับไดรเวอร์ที่เข้ากันได้สำหรับบางฐานข้อมูล)
  • การแก้ไขปัญหา (หมายเหตุเกี่ยวกับวิธีการแก้ไขปัญหา)

หวังว่าจะช่วย!


0

อีกทางเลือกหนึ่งคือใช้ django-windows-tools แม้ว่ามันจะไม่ได้รับการอัพเดตในอีกไม่กี่ปีข้างหน้า มันเพียงแค่ติดตั้งโมดูล FastCGI ใน IIS สำหรับคุณดังนั้นคุณไม่ต้องกังวลกับการใช้ PyISAPIe

https://github.com/antoinemartin/django-windows-tools

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.