Django - การตั้งค่า Apache

จนถึงตอนนี้ในตัวอย่างของเราเราได้ใช้เว็บเซิร์ฟเวอร์ Django dev แต่เซิร์ฟเวอร์นี้ใช้สำหรับการทดสอบเท่านั้นและไม่เหมาะสำหรับสภาพแวดล้อมการใช้งานจริง ในการผลิตคุณต้องมีเซิร์ฟเวอร์จริงเช่น Apache, Nginx และอื่น ๆ เรามาดู Apache ในบทนี้กัน

การให้บริการแอปพลิเคชัน Django ผ่าน Apache ทำได้โดยใช้ mod_wsgi ดังนั้นสิ่งแรกคือตรวจสอบให้แน่ใจว่าคุณได้ติดตั้ง Apache และ mod_wsgi แล้ว จำไว้ว่าเมื่อเราสร้างโครงการของเราและเราดูโครงสร้างโครงการดูเหมือนว่า -

myproject/
   manage.py
   myproject/
      __init__.py
      settings.py
      urls.py
      wsgi.py

ไฟล์ wsgi.py เป็นไฟล์ที่ดูแลการเชื่อมโยงระหว่าง Django และ Apache

สมมติว่าเราต้องการแชร์โครงการของเรา (myproject) กับ Apache เราต้องตั้งค่า Apache เพื่อเข้าถึงโฟลเดอร์ของเรา สมมติว่าเราใส่โฟลเดอร์ myproject ไว้ในค่าเริ่มต้น "/ var / www / html" ในขั้นตอนนี้การเข้าถึงโปรเจ็กต์จะทำได้ผ่าน 127.0.0.1/myproject สิ่งนี้จะส่งผลให้ Apache แสดงรายการโฟลเดอร์ดังที่แสดงในภาพรวมต่อไปนี้

อย่างที่เห็น Apache ไม่ได้จัดการกับ Django เพื่อให้ได้รับการดูแลเราต้องกำหนดค่า Apache ใน httpd.conf ดังนั้นเปิด httpd.conf และเพิ่มบรรทัดต่อไปนี้ -

WSGIScriptAlias / /var/www/html/myproject/myproject/wsgi.py
WSGIPythonPath /var/www/html/myproject/

<Directory /var/www/html/myproject/>
   <Files wsgi.py>
      Order deny,allow
      Allow from all
   </Files>
</Directory>

หากคุณสามารถเข้าถึงหน้าเข้าสู่ระบบเป็น 127.0.0.1/myapp/connection คุณจะเห็นหน้าต่อไปนี้ -