1. 程式人生 > >windows下安裝apache2.2 + python2.7 + django(mod_wsgi整合)

windows下安裝apache2.2 + python2.7 + django(mod_wsgi整合)

網上好像沒有基於python2.7和django框架的集成於是決定靠google+baidu搞一個出來,畢竟開源是強大的。    

作者:by海濤(ppgs8903)--------------2012.11.10 

對應軟體使用版本:

ApacheApache HTTP Server (httpd) 2.2.19
PythonPython2.7
DjangoDjango-1.3
Mod_wsgi.somod_wsgi-win32-ap22py27-3.3.so 

mod_python已經停止維護了,而替代他的是mod_wsgi(低版本的同學請沿用mod_python跳過此文章)

1、下載相應

PythonApache版本的mod_wsgi.so,比如:

       所以我選擇第二個下載

2、下載完成這裡得到一mod_wsgi-win32-ap22py27-3.3.so檔案,這裡要改名成mod_wsgi.so將該檔案拷貝到Apachemodules目錄->以下是我的路徑,如果你按步驟來這個檔案應該拷貝在下面這個資料夾裡。

3Apachehttpd.conf檔案中最後加入以下兩行:

LoadModule wsgi_module modules/mod_wsgi.so
Include “C:/Python27/code/gp/apache/apache_django_wsgi.conf”

第一行是讓apache載入mod_wsgi模組第二行是讓apache載入web應用程式的配置檔案,其中apache_django_wsgi.conf這個檔案可也可以在httpd.conf檔案裡面,這樣提取出來有利於維護。

這個相對路徑在:Apache2.2\conf

 

插入後如下圖所示:

4、建立django程式,django-admin.py startproject  XXX  

比如我上面的gp程式放置在D:\myFirstDjango裡面。

5、在D:\myFirstDjango目錄下建立一個apache資料夾,新增下面2個檔案:

apache_django_wsgi.conf

django.wsgi

apache_django_wsgi.conf檔案內容:  ******這裡一定要注意更換成你的目錄和專案路徑***********

# 設定django admin靜態資源的訪問路徑
Alias /static/ "d:/myFirstDjango/static/"
<Directory "d:/myFirstDjango/static">
Allow from all
</Directory>
# 設定root,不要使用"^/"
WSGIScriptAlias / "d:/myFirstDjango/apache/django.wsgi"
<Directory "d:/myFirstDjango/apache">
Allow from all
</Directory>


django.wsgi內容:      ******這裡一定要注意更換成你的目錄和專案路徑***********

 import os
 import sys

 #Calculate the path based on the location of the WSGI script.
 apache_configuration= os.path.dirname(__file__)
 project = os.path.dirname(apache_configuration)
 workspace = os.path.dirname(project)
 sys.path.append(workspace)

 os.environ['DJANGO_SETTINGS_MODULE'] = 'myFirstDjango.settings'
 import django.core.handlers.wsgi
 application = django.core.handlers.wsgi.WSGIHandler()


以上完成所有步驟你的專案應該類似於這個樣子(內容可能會少點,英文i我做測試寫了time.py和hello.py):


啟動Apache即可:我們的環境就完成了。親,各位帥哥們下面的圖片親切不: