在原先使用django開發完成項目的時候須要部署到服務器上面因此選擇了apache和mod_wsgi的搭配,這些項目在網上有不少發行的二進制版本,當時沒有怎麼考慮就直接從網上下載版本下來,所有同一種vc編譯器的版本的64位程序,配置好後整個項目能夠運行起來後,以後就發現了每次中止服務的時候就會很是卡頓,屢次重啓服務後,apache進程還會多了幾個,在詢問了mod_wsgi的做者以後才瞭解了問題。html
首先是選擇django的版本,通常來講是選擇比較新的版本,以後是python的版本,這裏python的版本有2.7和3.6的這兩種版本,以前是選擇2.7的版本,django自己也是有支持3.6的版本,因此建議都選擇3.0以上的版本,這個會是之後的主流。接下來就是apache的版本,選擇2.4的版本,在這裏apache官網上面是沒有提供二進制的發行版本。網絡上有不少發行版本,好比ApacheLounge,ApacheHaus。在這裏若是是使用mod_wsgi這個模塊就必定要選擇ApacheLounge網站上面的apache發行的二進制版本,其它發行的版本沒有辦法編譯mod_wsgi。mod_wsgi到github上面下載源碼直接安裝到本身的python裏面。mod_wsgi也能夠編譯成so文件複製到apache裏面做爲一個模塊,這兩種方式沒有什麼差異。python
介紹一些基本的軟件。git
python:https://www.python.org/downloads/windows/github
apache:http://www.apachelounge.com/express
django:https://www.djangoproject.com/apache
mod_wsgi:https://github.com/GrahamDumpleton/mod_wsgidjango
mod_wsgi doc:http://modwsgi.readthedocs.io/en/develop/index.htmlwindows
以上的vc版本要所有是要一致,好比全是vs2012的,32位或者64位的。本身的電腦上面須要安裝微軟的編譯器否則沒法安裝mod_wsgi和其它的第三方庫。服務器
mod_wsgi的使用在github的官網上面有詳細的說明,這裏介紹的是編譯成so文件和安裝到python裏面,編譯成so文件的話,電腦上面有微軟的編譯器,而後在源碼目錄裏面有win文件夾,這裏面的文件選擇對應的環境修改裏面的內容,執行命令就能夠編譯成功了,這種方式做者已經不推薦了。安裝到python裏面比較簡單。若是是下載了源碼的話執行:pip setup.py install,若是是使用pip安裝的話:pip install mod_wsgi,這裏有個前提條件就是c盤裏面有apache二進制的文件夾名字就是Apache24或者Apache22,或者是設置環境變量MOD_WSGI_APACHE_ROOTDIR 設置apache的路徑,具體的參考說明:網絡
https://github.com/GrahamDumpleton/mod_wsgi/issues/188
python裏面安裝完了mod_wsgi或者是個so文件,就須要配置apache的配置文件,添加一下信息
LoadModule wsgi_module modules/mod_wsgi-py27.so (這個是模塊的路徑,windows下是pyd)
WSGIPythonHome /usr/local/lib (python的安裝目錄或者是虛擬環境)
<Directory /usr/local/wsgi/scripts>
Order allow,deny
Allow from all
</Directory> (設置腳本目錄能夠訪問)
WSGIScriptAlias /myapp /usr/local/wsgi/scripts/myapp.wsgi (這個命令是設置訪問的地址和執行的腳本,在下載的mod_wsgi的源碼裏面有一些模板)
在命令行下面可使用mod_wsgi-express來獲取配置信息,windows下沒有啓動服務這樣的命令,
以後啓動一個apache就能夠了運行起來了,能夠看到一些效果。
像這種的環境配置我的以爲比較的繁瑣不是很簡單,要是簡單的話就行了。最後加上我當時解決問題的時候跟mod_wsgi的做者詢問一些問題,主要是解決環境配置問題。
https://github.com/GrahamDumpleton/mod_wsgi/issues/215
之後有什麼須要的在補充。