python_note
  • Introduction
  • My Python
    • Anaconda
    • argparse
    • datetime
    • json
    • logging
    • numpy
    • open
    • openCC
    • pandas & csv
    • Socket & SocketServer
    • re
    • yaml
    • smtp
    • 物件操作
    • unittest
    • 線程
    • prettytable
    • IO
    • pycurl
    • sys
    • pickle
    • auto-python-to-exe
    • cython
    • nuitka
  • Crawler
    • Urllib & Requests
      • User-agent
      • Percent-Encoding
      • mail code
    • Selenium
    • TCP & UDP
    • 控制字符(control character)
  • Web Development
    • Flask
      • RESTful api
      • Template
      • blueprint
    • Django
      • 環境佈署(windows)
    • 檢查Port
    • Apache
    • 使用者行為
    • jQuery
    • 壓力測試
    • DataTable
    • Bootstrap
    • CSS
    • JavaScript
    • Chart.js
  • Deep Learning
    • Keras 設定
    • RNN
    • LSTM
  • Test
    • T-Test
  • 資料結構
    • Hash
    • 時間複雜度
  • NLP
    • N-gram
    • CKIP
    • 中文轉數字
    • CRF
    • Mutual Information
    • 模糊比對
  • Linebot
    • Heroku
    • 圖文選單
    • channel
  • Linux
    • 常用指令
    • shell script
    • sshfs
    • ssh
    • nodejs & npm
    • debug
  • GCP
    • app engine
    • ssh(gcp)
    • gsutil
    • brabrabra
    • Load Balancer
    • k8s
  • Database
    • mysql
    • elasticsearch
      • Query
      • Backup and Restore
      • elasticdump
      • es2csv
      • ELK
    • mongodb
      • install
      • authentication
      • pymongo
    • sql server
  • go
    • Swarm
  • Docker
    • Kitematic
    • Dockerfile
    • Swarm
  • Git
  • 其他
    • USB軟體保護
    • Windows效能監視器
  • Blockchain
Powered by GitBook
On this page
  • win10+XAMPP+Django+mod_wsgi
  • win10+XAMPP+Django+mod_wsgi Round2

Was this helpful?

  1. Web Development
  2. Django

環境佈署(windows)

PreviousDjangoNext檢查Port

Last updated 5 years ago

Was this helpful?

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檔(

  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中的檔案是.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的位元差異大小

.

參考資料:

(↑推這篇↑)

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://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi\
https://dotblogs.com.tw/defaultzlq/2017/04/08/151149
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://javier3399.blogspot.tw/2013/09/windows-7-apache-mysql-php.html
http://shaurong.blogspot.tw/2013/10/apache-php-mysql-on-win7.html