在開拓模式下,Django自帶了一個開拓處事器,它僅用于測試目標(biāo)。一旦完成了Web應(yīng)用的開拓,就應(yīng)該陳設(shè)到真正的出產(chǎn)處事器上。假如開拓者還沒陳設(shè)過真正的Web應(yīng)用,那么可以參考本文。本文提供了操作mod_wsgi陳設(shè)Django應(yīng)用的具體步調(diào)。
一、mod_wsgi
WSGI,即Web Server Gateway
Interface,Web處事器網(wǎng)關(guān)接口,是一個Web處事器的Python尺度,在PEP
333尺度中界說,并被很多框架實(shí)現(xiàn)。Python是一門傳統(tǒng)的編程語言,所以WSGI提供了一種讓W(xué)eb處事器處事于Python應(yīng)用措施的方法,使得Python應(yīng)用措施可以與Web處事器舉辦交互。
Apache是最風(fēng)行的Web處事器之一,mod_wsgi是Apache的模塊之一,可用于把Python應(yīng)用措施托管到Apache處事器上。這種要領(lǐng)是陳設(shè)Django應(yīng)用相對簡樸的要領(lǐng)。
在Ubuntu 14.04版,默認(rèn)安裝中包括了Python。下面開始操作mod_wsgi陳設(shè)Django應(yīng)用。
二、建設(shè)Django應(yīng)用措施在本節(jié)中,我們要安裝所需的軟件包,并構(gòu)建一個Hello World的Django應(yīng)用措施,并通過mod_wsgi模塊提供處事。這里假設(shè)你已經(jīng)登錄到新建設(shè)的虛擬機(jī)。
1、建設(shè)一個Ubuntu虛擬機(jī)建設(shè)一個操縱系統(tǒng)為Ubuntu 14.04 x64的Linux虛擬機(jī),物理機(jī)也可以。步調(diào)略。
2、安裝Python包攬理器利用Ubuntu的包攬理器apt-get,安裝Python包攬理器。留意,利用前需先對Ubuntu的包攬理器舉辦更新。
# sudo apt-get update
Pip是Python語言的包攬理器,它可以輔佐我們安裝、修改、卸載Python包。要安裝pip很是簡樸,執(zhí)行呼吁:
# sudo apt-get install python-pip
apt-get東西會自帶安裝pip的最新不變版。可是,臺灣主機(jī)
臺灣伺服器,假如你想安裝指定版本的pip,可以思量從源碼安裝。
參考:https://pip.pypa.io/en/latest/installing.html
還可以利用easy_install來替代pip,它有相似的成果。
要從新建設(shè)項目,需要先安裝Django軟件包。執(zhí)行呼吁:
# sudo pip install Django
要想指定Django的安裝版本,好比1.5.5版,可以這樣:
# sudo pip install Django==1.5.5
雖然,你仍然可以利用Ubuntu的包攬理器apt-get來安裝Django,但這大概安裝的不是最新不變版的Django。
4、安裝其他依賴假如要陳設(shè)一個已有的項目,可以遞歸運(yùn)行pip來安裝項目標(biāo)依賴。凡是,在項目標(biāo)源碼目次存在一個名為requirements.txt的設(shè)置文件,它包括了運(yùn)行項目所需的依賴包:
# pip install -r requirements.txt
假如項目還包括了其他的Python項目,那么大概會有差異版本的Python包會造成互相滋擾。辦理步伐是利用virtualenv,它可以讓每個Python項目在本身的虛擬Python情況中運(yùn)行,互相間是斷絕的。
這里有一個virtualenv的教程:https://www.digitalocean.com/community/tutorials/common-python-tools-using-virtualenv-installing-with-pip-and-managing-packages
假如正在開拓Django應(yīng)用措施,你大概想建設(shè)或更新設(shè)置文件,可以執(zhí)行呼吁:
# pip freeze > requirements.txt
pip freeze呼吁會打印出當(dāng)前情況中已經(jīng)安裝了的Python包,大于標(biāo)記“>”會把呼吁的執(zhí)行功效輸出到指定的requirements.txt設(shè)置文件中。
5、建設(shè)Hello World應(yīng)用措施要建設(shè)名為helloworld的Django應(yīng)用,運(yùn)行呼吁:
# django-admin.py startproject helloworld
要留意,會建設(shè)一個名為helloworld的新目次。要運(yùn)行此項目,可以這樣:
# cd helloworld/
# django-admin.py startapp helloapp
在欣賞器中可以看到Hello World的輸出。下面,接著在項目中添加settings.py,找到INSTALLED_APPS處,添加以下內(nèi)容:
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'helloapp'
)