1. 程式人生 > >在window上部署python Django專案 採用apache+mod_wsgi方案

在window上部署python Django專案 採用apache+mod_wsgi方案

剛學了一段時間的python,感覺挺方便的,寫個簡單的web,真的是太簡單了,一行命令runserver就跑起來了,後來聽說那是測試伺服器,不安全,只能用於測試,不能用於生產上,好吧,雖然我的網站可能就我一個人訪問而已,哈哈,但是還是得折騰一下。

由於我是window系統,結果在部署伺服器這一步上,真是讓人頭大,網上查閱了很多資料,今天終於除錯成功了,特地整理一下。

第一步

第二步

上面這兩部,就不做過多的介紹了,附上兩位大神寫的貼子。

第三步

根據對應的系統下載即可,請注意我用框框圈起來的VC14,記住這個數字,後面有用到


第四步

網上有教程是用vs自己編譯,如果我們的環境在這裡能找到對應的檔案,就選擇已經編譯好的了


請注意,這裡以第六個為例子,因為這符合我的系統要求

mod_wsgi‑4.5.19+ap24vc14‑cp36‑cp36m‑win_amd64.whl

這個命名代表的是 

1.ap24代表的是apache24的版本(解壓完apache你看路徑就知道版本了)

2.vc14上面第三步所選的apache的vc為14,這裡選擇一樣的vc

3.cp36和cp36m,我也不知道哪個代表的是ython環境為3.6,反正兩個數字全都是一樣的

ok,到這裡,大家根據自己的環境,下載就行了,不要下載錯,切記

第五步

把下載的mod_wsgi-4.5.19+ap24vc14-cp36-cp36m-win_amd64.whl檔案,拖到你的python目錄的Scripts資料夾下,如圖,我是裝在E盤,

預設是在C:\Users\Administrator\AppData\Local\Programs\Python\下


第六步

進入對應的目錄後,執行 pip install "對應的.whl檔案目錄"


看到安裝成功後,再執行 mod_wsgi-express module-config


得到上面這3行,就可以了,先別關掉命令列,待會有用

第七步

配置Apache ,編輯httpd.conf檔案


這裡進行簡單的apache配置,需要詳細的朋友,自己再去百度哈

1.這裡是Apache的路徑,需要修改一下

Define SRVROOT "G:\_tools\httpd-2.4.29-o102m-x64-vc14\Apache24"

2.埠可能需要修改一下,預設是80埠,看各位的需求了,我這邊被IIS佔用了,就不用80了

Listen 8088

3.伺服器地址

ServerName localhost:8088

ok,簡單的配置後,我們再配置python的部分,還是在這個資料夾,在最後面加上就行了

4.追加上面命令列列印的3行

5.後面是專案路徑等(整段程式碼貼出來)

LoadFile "E:\python\python36.dll"
LoadModule wsgi_module "E:\python\lib\site-packages\mod_wsgi\server\mod_wsgi.cp36-win_amd64.pyd"
WSGIPythonHome "E:\python"

#Django專案中wsgi.py的路徑
WSGIScriptAlias / G:\_project\python\BibuPython\BibuPython\MySite\MySite\wsgi.py

#Django專案的路徑
WSGIPythonPath G:\_project\python\BibuPython\BibuPython\MySite

#配置wsgi.py的訪問許可權
<Directory G:\_project\python\BibuPython\BibuPython\MySite\MySite>
<Files wsgi.py>
Require all granted
</Files>
</Directory>

如果你想讓外網能訪問到,那麼需要修改python專案的setting.py(跟上面第七步第5點配置 wsgi.py 同一個目錄)

在setting.py檔案中的ALLOWED_HOSTS欄位,加個星號

ALLOWED_HOSTS = ["*"]

最後

將Apache新增為系統服務 httpd -k install

啟動伺服器:Apache  httpd -k start 

結束伺服器:Apache  httpd -k stop 

如果執行後出現這個錯,我建議大家把路徑修改一下,改成我這樣,而不是直接複製命令列的路徑


命令列:


改成碟符是大寫的,路徑自己去實際檔案那邊複製,比較妥當(分隔符用"\",而不用"/")


我不知道大家會不會出現這個問題,我這邊部署2次出現2次這個問題,路徑一直出錯,可能是粗心的原因...

注,我這邊實測,python3.6+64位的win7python3.5+32的winserver2007,都是可以執行的,

如果是低版本的python,可能不適用我這個方法,請小夥伴自行判斷

好了,第一次寫這個,有什麼寫得不妥的地方,還請大家多多指點。

參考:

相關推薦

window部署python Django專案 採用apache+mod_wsgi方案

剛學了一段時間的python,感覺挺方便的,寫個簡單的web,真的是太簡單了,一行命令runserver就跑起來了,後來聽說那是測試伺服器,不安全,只能用於測試,不能用於生產上,好吧,雖然我的網站可能就我一個人訪問而已,哈哈,但是還是得折騰一下。 由於我是window系統,

部署Django在Windows server 2008r2 採用apache+mod_wsgi方案

部署Django在Windows server 2008r2 Run Django with Apache + mod_wsgi on Windows server 2008r2 最近學習了Django,語法學的差不多了.最後想搭建一個伺服器以訪問網站.

windows10使用apache部署python flask專案

由於需要在學校機房部署,所以必須選擇windows系統。 本人電腦win10 需要清楚的事情: 生產環境所使用的python的版本,從cmd中進入python後,版本資訊將列印在cmd中。本人使用的為32位的py3.5 on win32 下載

在Windows下用Apache+wsgi部署python+flask專案

一. 安裝Apache 從http://www.apachelounge.com/download/  下載最近版本的Apache 解壓到D盤下,我的80埠已經被佔用了,所以需要修改配置檔案:D:/Apache24/conf/httpd.conf 找到Define SRVR

python Django專案的阿里雲部署

. Python Django專案的阿里雲部署 . 當時因為專案的需要,就是將 python 的 Django 專案部署到阿里雲伺服器上。藉此機會學習了一下,並記錄了部署的步驟。想著除了分享之外,更多的是以後自己也可以回來感受一下當時部署阿里雲的艱辛,不過現在會

如何在window部署JAVAWeb專案

今天主要學習如何在window作業系統上部署JAVAweb專案,下面是詳細的總結,供以後自學! 在window伺服器上部署web專案主要是分為下面幾部 1.首先在電腦上安裝JDK,並配置好環境變數 1.1.下載JDK的安裝地址:http://www.oracle.com 找到適合自己的安裝版

windows + Apache + mod_wsgi 部署釋出Django專案

一、環境         windows 2008 r2 + python 2.7.10(32bit) + django 1.5.1 + Apache 2.4.27(32bit) + mod_wsgi 二、安裝配置Python + Django         參考Dja

window 部署sklearn(python+pip+numpy+scipy+matplotlib+sklearn)

環境:win10 64位 1.安裝python  下載地址:https://www.python.org/ftp/python/2.7.5/python-2.7.5.amd64.msi  (可以支援最新的sklearn) 安裝:直接執行 測試:在cmd下,執行python

部署Django專案Apache伺服器(下)

上一節我們已經成功搭建了apache伺服器並且寫了一個wsgi的hello world程式進行測試。接下來我們就可以開始部署django專案了。 首先把django專案上傳到伺服器上的某個目錄下。為了讓python的web程式執行,我們需要一個wsgi程式。d

總想自己動動手系列·1·本地和外網(Liunx伺服器部署的web專案)按照自定義的報文格式進行互動(一)

一、準備工作 (1)有一臺屬於自己的雲伺服器,併成功部署和釋出一個web專案(當然,本質上來說Java-Project也沒問題),通過外網IP可以正常訪問該web專案。   需要說明的是:任何web專案,只要成功部署後在外網上能訪問到即可。本案例注重修改web對請求的監聽和過濾的處

python django專案命令列執行出現ModuleNotFoundError: No module named

python專案結構描述 開發工具: pycharm 開發環境: python=3.6 django=2.1 專案結構: 問題描述 直接在pycharm中啟動django專案,可以正常直接執行transfer_util.py檔案,但在伺服器上單獨用pytho

Travis CI對Python Django專案進行持續整合

Travis CI簡介 Travis CI 是目前新興的開源持續整合(Continuous Integration)構建專案,採用yaml格式,簡潔清新獨樹一幟。目前大多數的github專案都已經移入到Travis CI的構建佇列中,據說Travis CI每天執

《轉載-Githubpython開源專案

Python開源專案,期待大家和我們一起共同維護 說明 Feedback 期望大家隨時能提出寶貴的意見(直接提交issues即可)。請廣大網友只按照目錄結構(即使目錄結構有問題)新增三方庫,並提交pull request。目錄問題大家提出issues後樓主會及時更改

利用 apache2 在多個伺服器部署多個專案實踐

一、背景 應專案需求,要在兩個遠端伺服器上利用 apache2 部署多個專案(前後端分離): Server (Nodejs/Koa2) Android APP、Apple APP (ionic3) 現將部署過程及遇到的問題記錄下來。 二、伺服器配置說明

一個tomcat伺服器部署多個專案,不同域名訪問

<?xml version='1.0' encoding='utf-8'?> <Server port="8005" shutdown="SHUTDOWN"> <Listener className="org.apache.catalina.startup.VersionLo

初始化建立Python Django專案

前期準備: 一、安裝Python 步驟二、點選選單上的“Downloads”,點選上方指示的黃色文字的不同系統的超連結,點選進入,比如,我下面以windows系統來演示,其他系統類似。 步驟三、選擇點選“windows”,進入如下頁面,根據自己的電

部署Python Web專案到CentOS伺服器踩過的坑

CentOS 沒有 apt-get 命令,也沒有easy-install 像centos這類衍生出來的發行版,他們的源有時候內容更新的比較滯後,或者說有時候一些擴充套件的源根本就沒有。所以在使用yum來search  python-pip的時候,會說沒有找到該軟體包。 安裝

linux部署spring-boot專案

sh指令碼執行 下面幾個指令碼僅供參考,請根據自己需要做調整 start.sh #!/bin/sh rm -f tpid APP_NAME=fm-eureka-client-1.0-SNAPSHOT APP_JAR=$APP_NAME".jar

使用Nginx+Uwsgi在CentOS伺服器部署Python Flask應用

寫在開頭        第一次用Flask做Web(也是第一次用Python做Web),在部署的時候遇到了不少問題,現在將過程就下來,供在這方面也有疑惑的人蔘考.(PS:使用Apache+mod_wsgi部署模式的可以參考另一個博主的這篇文章:http://blog.elnm

在Tomcat部署Vue.js專案

接著上次的圖書管理系統 修改完問題後把SpringBoot成功部署到了伺服器上 測試了下api介面,能正常訪問 那麼下面就是在伺服器上部署前端的vue.js了 這裡的話我們要明確一點 vue.js是一個前端的框架,所以部署的時候並不需要node.js之類的伺服器 像本