apache+mod_wsgi 部署 Django 項目

此次部署重點不在 Django 項目本身穴肘,而是為了測試在 Django 框架中集成的微信框架 Werobot命贴,作為微信個人訂閱號的后臺梢莽,測試相關(guān)功能囤捻。

部署軟硬件準(zhǔn)備

  • 騰訊云(學(xué)生)服務(wù)器 (Windows Server 2012 R2)(1G1核1M)
  • Apache 2.4.28 Win64(http-2.4.28-win64-VC14.zip)
  • mod_wsgi?4.5.19+ap24vc14?cp35?cp35m?win_amd64.whl
  • Python-3.5
  • Django 1.8

Apache臼朗、mod_wsgi、Python 版本分別對上蝎土,以 mod_wsgi 版本需要為準(zhǔn)视哑。

安裝 Python

Python 安裝,將 Add Python 3.5 to PATH 選項勾上誊涯,安裝完后可免去命令配置:

python3.png

安裝完后打開命令行輸入 python挡毅,出現(xiàn)如圖指令即安裝成功:

python-success.png

安裝第三方庫

在本地調(diào)試的 Django 項目中使用 pip freeze > requirements.txt 命令生成需求庫:

requirements.png

并且配置 settings.py 文件:

# settings.py
DEBUG = False   # 關(guān)閉調(diào)試模式
ALLOWED_HOSTS = ["119.29.92.184",] # 添加服務(wù)器公網(wǎng)IP

將整個 Django 項目復(fù)制到服務(wù)器的目標(biāo)文件夾中,在項目的根目錄下啟動 cmd.exe暴构,輸入命令 pip install -r requirements.txt 安裝第三方庫:

第三方庫.png

等待全部安裝成功:


re安裝成功.png

安裝 Mod_wsgi

http://www.lfd.uci.edu/~gohlke/pythonlibs/#jsonlib 網(wǎng)站里下載相應(yīng)版本的 Mod_wsgi 到本地跪呈,用 pip install path/to/mod_wsgi 安裝段磨,等待安裝成功后,使用 mod_wsgi-express module-config 查看 mod_wsgi 配置庆械,保存輸出信息薇溃。

?
wsgi.png

配置 Apache

將下載好的文件直接解壓到 C 盤根目錄( C 盤為 Apache 默認(rèn)的安裝路徑),運(yùn)行 bin 文件下的 httpd.exe缭乘,如果彈出的命令行不閃退沐序,再打開瀏覽器輸入公網(wǎng) IP ,出現(xiàn)下圖及表示解壓沒問題:

works.png

接下來堕绩,開始正式配置 Django 項目策幼,打開 conf 文件夾下的 httpd.conf 配置文件進(jìn)行配置,首先添加之前配置 mod_wsgi 時輸出的信息

# httpd.conf
LoadFile "c:/users/administrator/appdata/local/programs/python/python35/python35.dll"
LoadModule wsgi_module "c:/users/administrator/appdata/local/programs/python/python35/lib/site-packages/mo
d_wsgi/server/mod_wsgi.cp35-win_amd64.pyd"
WSGIPythonHome "c:/users/administrator/appdata/local/programs/python/python35"

之后再配置 Django 項目目錄

# httpd.conf  基本配置
WSGIScriptAlias / C:/Zhaha/Django/ServerTest1/ServerTest1/wsgi.py    
WSGIPythonPath C:/Zhaha/Django/ServerTest1

<Directory C:/Zhaha/Django/ServerTest1/ServerTest1>
<Files wsgi.py>
Require all granted
</Files>
</Directory>            

基本配置后奴紧,還需要檢查 httpd.conf 配置文件另一些訪問權(quán)限

# httpd.conf  

<Directory />     # 當(dāng)前版本 229-232 行
    AllowOverride none
    Require all denied
</Directory>

<Files ".ht*">    # 當(dāng)前版本 287-289 行
    Require all denied
</Files>

改為:

<Directory />   # 當(dāng)前版本 229-232 行
    AllowOverride none
    Require all granted
</Directory>

<Files ".ht*">    # 當(dāng)前版本 287-289 行
    Require all denied
</Files>

之后運(yùn)行 httpd.exe 無閃退即運(yùn)行成功特姐,下面是 Django 項目一些信息:

# urls.py
...
urlpatterns = [
    ...
    url(r'^wechat/', include("wx_develop.urls"), name="wechat"),
    url(r'^robot/', make_view(robot)),  # 微信框架
]

# views.py
...
def index_of_wechat(request):
    return HttpResponse("You're at the wechat index.")

此時,在外網(wǎng)即可訪問到 Django 項目:

?
index.png

之后就可以測試 werobot 相關(guān)功能黍氮,這里不予記錄唐含。

在部署遇到問題的時候可以查看 Apache/logs/error.txt 文件,錯誤日志及提醒都會在里面提示沫浆。

此次 Django 部署是基于 Apache 最基本的配置捷枯,有些靜態(tài)文件路徑并沒有配置到。

Apache 和 mod_wsgi 搭配部署 Django 項目也許并不是最好的組合专执,但是在學(xué)習(xí)過程中不需要一步就達(dá)到最優(yōu)解淮捆,而是先成型—發(fā)現(xiàn)性能不足—再選擇方案優(yōu)化。

參考資料:

How to use Django with Apache and mod_wsgi
mod_wsgi getting started

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末本股,一起剝皮案震驚了整個濱河市攀痊,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌拄显,老刑警劉巖苟径,帶你破解...
    沈念sama閱讀 210,914評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異躬审,居然都是意外死亡棘街,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評論 2 383
  • 文/潘曉璐 我一進(jìn)店門盒件,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蹬碧,“玉大人,你說我怎么就攤上這事炒刁《鞴粒” “怎么了?”我有些...
    開封第一講書人閱讀 156,531評論 0 345
  • 文/不壞的土叔 我叫張陵翔始,是天一觀的道長罗心。 經(jīng)常有香客問我里伯,道長,這世上最難降的妖魔是什么渤闷? 我笑而不...
    開封第一講書人閱讀 56,309評論 1 282
  • 正文 為了忘掉前任疾瓮,我火速辦了婚禮,結(jié)果婚禮上飒箭,老公的妹妹穿的比我還像新娘狼电。我一直安慰自己,他們只是感情好弦蹂,可當(dāng)我...
    茶點故事閱讀 65,381評論 5 384
  • 文/花漫 我一把揭開白布肩碟。 她就那樣靜靜地躺著,像睡著了一般凸椿。 火紅的嫁衣襯著肌膚如雪削祈。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,730評論 1 289
  • 那天脑漫,我揣著相機(jī)與錄音髓抑,去河邊找鬼。 笑死优幸,一個胖子當(dāng)著我的面吹牛吨拍,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播劈伴,決...
    沈念sama閱讀 38,882評論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼密末,長吁一口氣:“原來是場噩夢啊……” “哼握爷!你這毒婦竟也來了跛璧?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,643評論 0 266
  • 序言:老撾萬榮一對情侶失蹤新啼,失蹤者是張志新(化名)和其女友劉穎追城,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體燥撞,經(jīng)...
    沈念sama閱讀 44,095評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡座柱,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,448評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了物舒。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片色洞。...
    茶點故事閱讀 38,566評論 1 339
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖冠胯,靈堂內(nèi)的尸體忽然破棺而出火诸,到底是詐尸還是另有隱情,我是刑警寧澤荠察,帶...
    沈念sama閱讀 34,253評論 4 328
  • 正文 年R本政府宣布置蜀,位于F島的核電站奈搜,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏盯荤。R本人自食惡果不足惜馋吗,卻給世界環(huán)境...
    茶點故事閱讀 39,829評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望秋秤。 院中可真熱鬧宏粤,春花似錦、人聲如沸灼卢。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽芥玉。三九已至蛇摸,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間灿巧,已是汗流浹背赶袄。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留抠藕,地道東北人饿肺。 一個月前我還...
    沈念sama閱讀 46,248評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像盾似,于是被迫代替她去往敵國和親敬辣。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,440評論 2 348

推薦閱讀更多精彩內(nèi)容