在 Windows 7 部署 Django 專案至 Apache,推薦使用 mod_wsgi 模組(較 mod_python 現代、效能更好)。以下為實戰部署全紀錄:
C:\Program Files (x86)\Apache Software Foundation\Apache2.2)、Python 2.7、Django 專案(範例路徑 D:\OPSAPP\appops)。mod_wsgi-3.4.ap22.win32-py2.7 → 解壓取出 mod_wsgi.so → 放入 Apache modules 目錄。django.wsgi#coding=utf-8 import os, sys import django.core.handlers.wsgi os.environ["DJANGO_SETTINGS_MODULE"] = "appops.settings" app_path = "D:/OPSAPP/appops" sys.path.append(app_path) application = django.core.handlers.wsgi.WSGIHandler()
apache_django_wsgi.confAlias /favicon.jpg D:/OPSAPP/appops/static/images/favicon.jpg WSGIScriptAlias / "D:/OPSAPP/django.wsgi" WSGIPassAuthorization OnOrder Deny,Allow Allow from all Alias /static/ D:/OPSAPP/appops/static/Order deny,allow Allow from all IndexOptions FancyIndexing Order deny,allow Allow from all IndexOptions FancyIndexing Allow from all
httpd.confLoadModule wsgi_module modules/mod_wsgi.so Alias /static D:/OPSAPP/appops/staticSetHandler None ServerName app.ops.test.com DocumentRoot D:/OPSAPP WSGIScriptAlias / D:/OPSAPP/django.wsgi Order deny,allow Allow from all Allow from all Order Deny,Allow Allow from all
D:/OPSAPP/
├── django.wsgi
├── apache_django_wsgi.conf
└── appops/
├── settings.py
├── appops/
└── static/
httpd.conf 必須加入 <Directory D:/OPSAPP/appops/static/> Allow from all 區塊。sys.path、DJANGO_SETTINGS_MODULE)或檔案命名與 Django/Python 內建模組衝突(避免命名為 django.py、settings.py 等)。C:\Program Files (x86)\Apache Software Foundation\Apache2.2\logs\error.log。重啟 Apache 服務後,造訪 https://app.ops.test.com(或配置 hosts 對應本機 IP)即可存取 Django 專案。路徑大小寫、斜線方向、虛擬主機名稱需與實際環境一致,部署前建議逐項核對。