# 環境佈署(windows)

## win10+XAMPP+Django+mod\_wsgi

xampp或apache的安裝就不記錄了就選版本選位元，再改一下servername listen之類的

.

個人認為使用xampp或直接操作apache的差異不大，頂多目錄長不一樣，只是用xampp比較不好除錯

直接以CMD操作apache的好處在於可以直接看到錯誤源自於httpd.conf中的哪一行，剛開始先install，並直接用httpd.exe -t來測試，但要記得uninstall後再開啟xampp中的apache避免衝突

.

這次任務成敗關鍵在於mod\_wsgi模組合不合環境，不管直接使用apache或者xampp都會遇到這問題，檔案格式方面許多教程都是寫將mod\_wsgi.so丟到apache的modules中，但現在的django版本不用這樣加惹

參照連結中的方法，

1. 先載版本與環境符合的.whl檔([http://www.lfd.uci.edu/\~gohlke/pythonlibs/#mod\_wsgi\\](http://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi%29\\)
2. 以pip install進行安裝(如果版本與環境不正確會不給裝!?)
3. 完成之後再到anaconda或者python(安裝路徑資料夾)下的scripts資料夾中找到mod\_wsgi-express.exe這個檔案
4. 之後再以CMD執行以下指令

```
c:/xx/xx/xx/mod_wsgi-express.exe module-config
```

完成後就可以在CMD中看到關於wsgi模組的相關資訊

也會看到原來要load到apache中的檔案&#x662F;**.pyd**而不是.so，把資訊加到httpd.conf後再用httpd.exe -t來測試，如果沒報錯就成功惹(灑花，其餘專案設置因人而異

.

這次成功的環境配置：

1. win10 64-bit
2. Anaconda (python 3.6) 32-bit：可在cmd用python -V或只打python查詢版本
3. Apache(2.4) 32-bit：可在cmd用httpd.exe -v查詢版本(v大小寫有差呦這是小寫)
4. Django (1.11.2)：當時直接用pip install安裝的我也不知道從哪一版開始不用.so檔
5. whl檔： mod\_wsgi-4.5.15+ap24vc14-cp36-cp36m-win32.whl
6. vc可再另外google，不一定真的要有vs c++

嘗試過python 64bit+apache 64bit但失敗惹，但都改成32bit就ok惹，但不知道實際使用上python的位元差異大小

.

參考資料：

<https://dotblogs.com.tw/defaultzlq/2017/04/08/151149>

(↑推這篇↑)

## win10+XAMPP+Django+mod\_wsgi   Round2

為了要配合python(64位元)只好再記錄一次

1. 首先python的變動會直接導致wsgi無法使用，apache會開不起來，所以要做個新的(如上面pip install的方法)，這次採用的whl檔：**mod\_wsgi-4.5.15+ap24vc14-cp36-cp36m-win\_amd64.whl**，新的的模組mod\_wsgi.cp36-win\_amd64.pyd
2. 接下來是將apache換成64位元，我是先直接道官網載64版，將解壓縮後的apache資料夾直接丟進xampp資料夾中取代，當然以防萬一可以將原始的apache資料夾改名放旁邊，替換完成後可以用cmd中httpd.exe -t的方式測試apache錯誤，之後httpd.conf檔中應該會出現一些include的錯誤，因為原始xampp的apache設定檔是有修改過的會跟原始從官網下載的不一樣，這時可以選擇自己一行一行加，或者將舊的httpd.conf檔案取代過來(這邊細節忘了..)
3. 最後apache會出現一個php xxxxwin32的錯誤，我自認為應該是php32位元問題，所以就採用類似apache的改法，直接載個php64位元替換進去，這時apache應該就可以正常運作惹，但可能會
4. 替換php中的php.ini，再檢查mysql中的my.ini

參考：

[http://blog.xuite.net/linriva/blog/44815005-%5BPHP%5D+Apache%EF%BC%8CWindows+x64+PHP+Server+%E5%AE%89%E8%A3%9D%E6%8C%87%E5%8D%97+\~+%E8%BD%89%E8%B2%BC](http://blog.xuite.net/linriva/blog/44815005-\[PHP]+Apache%EF%BC%8CWindows+x64+PHP+Server+%E5%AE%89%E8%A3%9D%E6%8C%87%E5%8D%97+~+%E8%BD%89%E8%B2%BC)

<http://javier3399.blogspot.tw/2013/09/windows-7-apache-mysql-php.html>

<http://shaurong.blogspot.tw/2013/10/apache-php-mysql-on-win7.html>
