在Windows上搭建Django+python+apache+wsgi

首先要注意一下,windows是32位還是64位,64位下安裝wsgi難度還是比較大,主要是網上的wsgi模塊基本上都是32位系統下編譯的,在64位系統下不能使用,自己編譯的話難度就直線上升了。順便說一句,真的要編譯,還不如使用Linux,簡單又方便。
下面的操作都是基於x86(32位)windows系統。

1、安裝python
python選用2.7版。雖然最高版本已經到了3.5了,但一方面python2和python3還是有兼容性問題,另一方面,很多第三方軟件更新沒這麼快,所以,在學習的角度下,還是選2.7吧。
這一步很簡單,直接雙擊運行python的安裝程序,按照嚮導一路next即可。在路徑方面建議設置一個比較好找的目錄(別忘了設置環境變量, Path中添加;%PYTHON_HOME%;)

2、安裝PIL
下載主頁:http://www.pythonware.com/products/pil/ 。
PIL是Python Imaging Library縮寫,主要用來處理圖片用的,這裏安裝它是爲了在Django系統中用它來對上傳的圖片自動的生成縮略圖的。安裝方法也相當的簡單,直接雙擊運行PIL-1.1.7.win32-py2.7.exe 這個文件,然後一路next即可。因爲之前已經安裝好了python,所以PIL的安裝程序會從註冊表中讀取到python安裝的路經,然後就自動地把PIL安裝到python\lib\site-packages\PIL下面了。


3、安裝Django
解壓到一個目錄裏,例如C:\Django-1.10.1下面。
接下來就是安裝Django了。輸入python setup.py install,這個命令將會把Django安裝到site-package下面並同時設置好sys.path。
在系統PATH中加入以下路徑:C:\Python27\Lib\site-packages\Django-1.10.1-py2.7.egg\django\bin。根據版本不同,路徑名稱稍有不同。這是爲了能直接使用django-admin.py來進行Django項目管理。

第一個工程的創建
假設工程項目在D:\WWW下,則執行下面命令生成工程框架:
D:\WWW>django-admin.py startproject my_python
D:\WWW\my_python>運行開發服務器:
python manage.py runserver
默認開發服務器端口爲8000,則輸入網址 http://127.0.0.1:8000 就可以打開第一個django項目主頁了。

4、安裝apache
現在apache在主頁上沒有直接提供二進制安裝包,需要下載第三方編譯包。點擊主頁上Files for Microsoft Windows鏈接後,進入Using Apache HTTP Server on Microsoft Windows頁,這裏我選擇了第一個ApacheHaus。
接下來又要選擇了,有多種編譯包,有VC2008(VC9)、VC2010(VC10)、VC2015(VC14)等,因爲我使用的是python2.7,而且服務器系統爲win2003 32位,爲了兼容性,我選擇了Apache 2.4.x VC9 x86版。
下載後直接解壓到C:/Apache24下就行了。
然後修改httpd.conf文件,加入        LoadModule wsgi_module modules/mod_wsgi.so
WSGIScriptAlias /mypython D:/WWW/my_python/my_python/wsgi.py(第三步所生成的工程中的文件,查找到,寫對路徑)
WSGIPythonPath D:/WWW/my_python(第三步生成的工程的目錄)
<Directory "D:/WWW/my_python/my_python">
    Options FollowSymlinks
    AllowOverride none
    Require all granted
</Directory>
這裏我要提一下,apache24與apache22配置有一些不同,原來的Order deny,allow已經被Require all granted代替,網上有一些配置說明都是基於apache22的,直接使用在apache24中會有錯。

5、安裝mod_wsgi
下載:http://www.lfd.uci.edu/~gohlke/pythonlibs/    搜索wsgi,對應好python版本。
或者直接下載https://github.com/GrahamDumpleton/mod_wsgi/releases/download/4.4.12/mod_wsgi-windows-4.4.12.tar.gz 。
這裏對應的版本爲:apache24 python27 win32 VC9。
將mod_wsgi-py27-VC9.so改名爲mod_wsgi 放到apache的modules下即可

6、mysql-python模塊安裝
開發項目總歸要用數據庫的,比如說MySQL,需要下載mysql-python模塊,地址:https://pypi.python.org/pypi/MySQL-python/1.2.4 。這個軟件只支持MySQL-3.23 through 5.5 and Python-2.4 through 2.7。
編譯好的二進制包只有for python2.7 x86版本。windows下使用開源軟件就是這麼辛苦。
安裝後,進入python命令行,執行 import MySQLdb ,不出錯就是正確。

7、編寫項目代碼
在D:/WWW/my_python/my_python下
編寫views.py
from django.http import HttpResponse,Http404
import datetime
def hello(req):
    return HttpResponse("<h1>Hello World!</h1>")
def homepage(req):
    return HttpResponse("This is mypython's Homepage")
    
修改urls.py
from django.conf.urls import url
from django.contrib import admin
from phinfo.views import hello,homepage
urlpatterns = [
    url(r'^hello/$', hello),
    url(r'^$', homepage),
]

啓動apache後,http://127.0.0.1/mypython/ 顯示home頁面,http://127.0.0.1/mypython/hello 顯示helloworld頁面。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章