新聞中心
思路:使用runserver可以使我們的django項(xiàng)目很便捷的在本地運(yùn)行起來(lái),但是這只能在局域網(wǎng)內(nèi)訪問(wèn)。正式環(huán)境部署的話比較安全,而且靜態(tài)文件的處理方式會(huì)比較友好。nginx作為服務(wù)器的最前端,負(fù)責(zé)接收client的所有請(qǐng)求,靜態(tài)請(qǐng)求由nginx自己處理,非靜態(tài)請(qǐng)求通過(guò)uwsgi傳遞給django,由django來(lái)進(jìn)行處理。
準(zhǔn)備:1 一個(gè)django項(xiàng)目,能用runserver啟動(dòng);
2 服務(wù)器基礎(chǔ)環(huán)境,python2.7+uwsgi;使用pip install uwsgi安裝,nignx1.11.10;
第一步:連接django項(xiàng)目和uwsgi
1 編寫(xiě)測(cè)試腳本驗(yàn)證uwsgi
運(yùn)行uwsgi --http :8001 --wsgi-file test.py
通過(guò)curl ip:port 來(lái)驗(yàn)證uwsgi正常;
2 使用uwsgi配置文件啟動(dòng)django項(xiàng)目
創(chuàng)建uwsgi目錄,以及uwsgi.ini配置文件
啟動(dòng)項(xiàng)目 uwsgi --ini uwsgi.ini
測(cè)試訪問(wèn)。
第二步:連接nginx和uwsgi
修改nginx.conf
其中root_static 目錄為指定的STATIC_ROOT目錄
第三步:運(yùn)行python manage.py collectstatic將所有靜態(tài)文件歸納到自定義的一個(gè)目錄下
首先要修改項(xiàng)目的urls.py文件
接著修改settings的文件,將DEBUG設(shè)置為False,ALLOWED_HOSTS = ['*']
以及
STATIC_ROOT = os.path.join(BASE_DIR, 'root_static').replace(r'\\','/')
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
)
也就是將所有的靜態(tài)文件收集到項(xiàng)目目錄下的root_static目錄下
最后運(yùn)行命令
python manage.py collectstatic
這個(gè)命令的執(zhí)行目的,就是將在開(kāi)發(fā)模式中定義的靜態(tài)目錄,統(tǒng)一拿到STATIC_ROOT目錄下。
1.首先從Django的擴(kuò)展包中,將admin管理后臺(tái)的jss 和css等靜態(tài)文件拷貝到配置文件中的STATIC_ROOT目錄下。
2.然后將STATICFILES_DIRS 列表中所有目錄下的內(nèi)容也拷貝到STATIC_ROOT目錄下
第四步:?jiǎn)?dòng)uwsgi和nginx服務(wù),用瀏覽器訪問(wèn)即可
也可以編寫(xiě)腳本用來(lái)控制uwsgi的啟動(dòng)和停止
創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國(guó)云服務(wù)器,動(dòng)態(tài)BGP最優(yōu)骨干路由自動(dòng)選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機(jī)房獨(dú)有T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確進(jìn)行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動(dòng)現(xiàn)已開(kāi)啟,新人活動(dòng)云服務(wù)器買多久送多久。
分享題目:Django1.11+Uwsgi+Nginx的生產(chǎn)環(huán)境部署-創(chuàng)新互聯(lián)
標(biāo)題網(wǎng)址:http://www.dlmjj.cn/article/hpcse.html