一步一圖着帽,VirtualBox中搭建[Ubuntu + Python + Apache2 + mod_WSGI + Django]環(huán)境(三)

歡迎回來(lái)杂伟,愿豬神保佑你~

在上一篇中,我們安裝了mod_wsgi模塊仍翰,并寫(xiě)了一個(gè)小程序來(lái)驗(yàn)證我們的WSGI工作正常赫粥。在本篇中,我們將安裝Django,并建立一個(gè)簡(jiǎn)單的網(wǎng)站來(lái)證明我的們的搭建是成功的予借。

步驟一: 安裝Django

pip install django

使用pip即可安裝越平,命令十分簡(jiǎn)單频蛔,看上去一切順利。
但是秦叛,等等晦溪, 這是什么?挣跋!

原來(lái)三圆,系統(tǒng)在提示我pip不是最新的,建議更新避咆≈廴猓可是我剛剛安裝的pip啊,為什么剛才你不順便給我安裝成最新的查库?好在django已經(jīng)安裝成功了(藍(lán)框里面的提示信息),我們先干正事路媚,看看django是不是真的安裝成功了。

查看django的版本信息

系統(tǒng)也是好意嘛樊销,我們就順帶更新下pip吧~

upgrade pip

步驟二: 使用Django建立一個(gè)web-site

我們將web-site的文件存在哪個(gè)文件夾呢整慎?為了方便,減少討論分支围苫,這里我繼續(xù)使用【/var/www/】這個(gè)文件夾院领。我們先切換到這個(gè)文件夾,回顧一下里面有哪些內(nèi)容够吩。

注意比然,我們現(xiàn)在的位置是【/var/www/】目錄!我們使用django-admin命令來(lái)新建一個(gè)項(xiàng)目(project)周循,名字就叫【web2】吧强法。

django-admin startproject web2

這里要注意,我們的目錄結(jié)構(gòu)湾笛!django在【/var/www/】目錄下面新建了一個(gè)【web2】目錄饮怯,并且,在【web2】目錄里面嚎研,還有一個(gè)同樣名字的【web2】目錄蓖墅,不要搞混了!A侔纭论矾!

這么看是不是有些亂?我們使用一個(gè)工具杆勇,更換一種視角來(lái)看目錄結(jié)構(gòu)贪壳。首先安裝這個(gè)工具。

pip install tree

命令的使用很簡(jiǎn)單蚜退,tree~注意下圖中:
1. 我們所在的目錄是【/var/www】
2. 在tree命令的輸出中闰靴,最左上角的那個(gè)【.】代表當(dāng)前目錄彪笼,也就是【/var/www】
3. tree命令展示的是,以當(dāng)前目錄為根目錄(root-dir)的目錄結(jié)構(gòu)

tree

這個(gè)視角是不是清晰多了蚂且?【web2】目錄下配猫,確實(shí)有一個(gè)同名的【web2】目錄對(duì)么?記住這個(gè)目錄關(guān)系杏死,在后面的時(shí)候是要用到的~~

步驟三:定位Django給出的wsgi入口

再次章姓,仔細(xì)觀察tree給出的目錄結(jié)構(gòu):

尋找wsgi入口

有沒(méi)有注意到,Django為我們建立了一個(gè)【wsgi.py】文件识埋,這個(gè)就是它自動(dòng)為我們提供的【web2】的wsgi入口。
對(duì)比我們之前創(chuàng)建的【simple.wsgi】零渐,可以發(fā)現(xiàn)窒舟,他們的后綴名不一樣!是的诵盼,你get到了一個(gè)知識(shí)點(diǎn):wsgi的入口可以是wsgi后綴的惠豺,也可以是py后綴的!

步驟四: 修改配置文件风宁,指向新的wsgi入口

首先洁墙,我們切換到Apache的配置目錄;然后用我們新入手的工具【tree】瞧瞧目錄結(jié)構(gòu)戒财;最后热监,修改我們的老朋友【000-default.conf】

我們?cè)谂渲梦募校瑓⒄罩凹尤氲膬?nèi)容饮寞,增加對(duì)新的wsgi入口的定義孝扛。
和之前的內(nèi)容做對(duì)比,會(huì)發(fā)現(xiàn)主要修改了http路徑和文件夾路徑而已幽崩。

Add new configuration

接下來(lái)苦始,我們啟用(enable)修改后的配置,并重新啟動(dòng)Apache服務(wù)慌申;然后去看看他的日志文件都說(shuō)了啥陌选。

enable new configuration

現(xiàn)在打開(kāi)瀏覽器,訪問(wèn)【http://localhost/pig】蹄溉,告訴我你看到了啥咨油?是不是錯(cuò)誤?
好吧柒爵,我們?nèi)タ纯村e(cuò)誤日志里都說(shuō)了什么臼勉。

web2.settings ???

這個(gè)【web2】看上去有些眼熟,可是那個(gè)【settings】是什么鬼餐弱?再把我們的新工具【tree】拉出來(lái)~

tree /var/www/

嗯宴霸,在內(nèi)層的【web2】目錄里面囱晴,確實(shí)有一個(gè)叫做【settings.py】的文件,難道這個(gè)路徑結(jié)構(gòu)和【wsgi.py】有什么關(guān)系瓢谢?

cat /var/www/web2/web2/wsgi.py

查看【wsgi.py】的內(nèi)容畸写,看來(lái)還真是有點(diǎn)關(guān)系~看上去是將某個(gè)東西賦值給了另外一個(gè)東西~但這只是一篇簡(jiǎn)單的教程而已,豬神有必要玩得這么大么氓扛?枯芬!
關(guān)于背后的各種邏輯,豬神顯然不想玩那么大~既然他需要某個(gè)值采郎,我們就給他某個(gè)值千所!~

步驟五: 配置環(huán)境變量

先去看看Apache的配置文件夾中,都有什么內(nèi)容蒜埋。

/etc/apache2/

那個(gè)【sites-available】是不是很眼熟淫痰?之前我們多次修改它里面的【000-default.conf】。但這次我們不找他整份,我們要找的是【apache2.conf】待错!
編輯【apache2.conf】,定位到文件的最后一樣烈评,看上去是這個(gè)樣子:

Content of apache2.conf

插入一行內(nèi)容火俄,如下:

WSGIPythonPath

其中的【W(wǎng)SGIPythonPath】是告訴Apache,在需要尋找一個(gè)Python模塊的時(shí)候讲冠,除了現(xiàn)有的路徑瓜客,也去【/var/www/web2】看看~
重新啟動(dòng)Apache服務(wù)器,在瀏覽器中訪問(wèn)【127.0.0.1/pig】

404 Error

錯(cuò)誤就是404竿开,但是系統(tǒng)給出的信息還是挺多的:
1. URLconf .... in web2.urls忆家,用過(guò)Django的同學(xué)一定知道這是怎么回事了
2. ^admin/,看上去這個(gè)單詞好熟悉~
3. DEBUG = True就會(huì)顯示這風(fēng)格德迹,等我真正部署的時(shí)候可不希望讓別人知道這么多芽卿,到時(shí)候我要去改掉它!

去看看胳搞,Apache日志里面說(shuō)了些什么

Not found /pig/

找不到【/pig】卸例,那么能找到啥呢?對(duì)了肌毅,那個(gè)【admin】好使不筷转?

訪問(wèn)http://127.0.0.1/pig/admin

嗯,雖然布局很丑悬而,但那熟悉的味道是Django!這說(shuō)明呜舒,我們部署成功,通了~~~

在下一篇中笨奠,我們將繼續(xù)完善我們的【web2】,加入我們自己定義的頁(yè)面袭蝗。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末唤殴,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子到腥,更是在濱河造成了極大的恐慌朵逝,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,366評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件乡范,死亡現(xiàn)場(chǎng)離奇詭異配名,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)晋辆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,521評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)渠脉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人瓶佳,你說(shuō)我怎么就攤上這事芋膘。” “怎么了涩哟?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,689評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)盼玄。 經(jīng)常有香客問(wèn)我贴彼,道長(zhǎng),這世上最難降的妖魔是什么埃儿? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,925評(píng)論 1 295
  • 正文 為了忘掉前任器仗,我火速辦了婚禮,結(jié)果婚禮上童番,老公的妹妹穿的比我還像新娘精钮。我一直安慰自己,他們只是感情好剃斧,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,942評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布轨香。 她就那樣靜靜地躺著,像睡著了一般幼东。 火紅的嫁衣襯著肌膚如雪臂容。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,727評(píng)論 1 305
  • 那天根蟹,我揣著相機(jī)與錄音脓杉,去河邊找鬼。 笑死简逮,一個(gè)胖子當(dāng)著我的面吹牛球散,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播散庶,決...
    沈念sama閱讀 40,447評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼蕉堰,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼凌净!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起嘁灯,我...
    開(kāi)封第一講書(shū)人閱讀 39,349評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤泻蚊,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后丑婿,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體性雄,經(jīng)...
    沈念sama閱讀 45,820評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,990評(píng)論 3 337
  • 正文 我和宋清朗相戀三年羹奉,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了秒旋。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,127評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡诀拭,死狀恐怖迁筛,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情耕挨,我是刑警寧澤细卧,帶...
    沈念sama閱讀 35,812評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站筒占,受9級(jí)特大地震影響贪庙,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜翰苫,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,471評(píng)論 3 331
  • 文/蒙蒙 一止邮、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧奏窑,春花似錦导披、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,017評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至墨叛,卻和暖如春滑沧,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背巍实。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,142評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工滓技, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人棚潦。 一個(gè)月前我還...
    沈念sama閱讀 48,388評(píng)論 3 373
  • 正文 我出身青樓令漂,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子叠必,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,066評(píng)論 2 355

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