python框架django項(xiàng)目部署相關(guān)知識(shí)詳解
這篇文章主要介紹了python框架django項(xiàng)目部署相關(guān)知識(shí)詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
一:項(xiàng)目部署的框架
nginx和uWSGI在生產(chǎn)服務(wù)器上進(jìn)行的部署
二:什么是nginx?
nginx是一個(gè)web服務(wù)器。
什么是web服務(wù)器?
web服務(wù)器則主要是讓客戶(hù)可以通過(guò)瀏覽器進(jìn)行訪問(wèn),處理HTML文件,css文件,js文件,圖片等資源。web服務(wù)器一般要處理靜態(tài)文件。對(duì)接服務(wù)器。
什么是靜態(tài)文件?
css,js,html,圖片等不需要后臺(tái)進(jìn)行邏輯處理的文件。
特點(diǎn):一般將靜態(tài)文件放在web服務(wù)器里面。如nginx服務(wù)器中,做到動(dòng)態(tài)靜態(tài)分離的處理。
什么是動(dòng)態(tài)文件?
除了靜態(tài)文件之外,一般都是動(dòng)態(tài)文件。
特點(diǎn):動(dòng)態(tài)文件一般web服務(wù)器不直接進(jìn)行處理,例如ngnix會(huì)將動(dòng)態(tài)資源轉(zhuǎn)發(fā)給應(yīng)用服務(wù)器(反向代理),讓?xiě)?yīng)用服務(wù)器進(jìn)行處理,并將處理結(jié)果,返給nginx,nginx在將結(jié)果返回瀏覽器。
什么是應(yīng)用服務(wù)器?
應(yīng)用服務(wù)器直接面對(duì)的是我們寫(xiě)的程序。
特點(diǎn):對(duì)接程序函數(shù),處理業(yè)務(wù)邏輯。
uWSGI是一個(gè)應(yīng)用服務(wù)器。
三:uWSGI和nginx之間通信的簡(jiǎn)單過(guò)程。
uWSGI接到請(qǐng)求后,將請(qǐng)求包進(jìn)行處理,處理成wsgi(一種通信協(xié)議)可以接受的格式,并發(fā)送給wsgi,wsgi根據(jù)請(qǐng)求,調(diào)用應(yīng)用程序中的某個(gè)文件中的某個(gè)函數(shù),進(jìn)行處理,處理完成后,將返回值,再次交給wsgi,wsgi將返回值進(jìn)行打包,打包成uWSGI接受的格式,然后uWSGI將結(jié)果轉(zhuǎn)發(fā)給nginx,ngnix最終將返回值給瀏覽器。
四:為什么分成靜態(tài)服務(wù)器和應(yīng)用服務(wù)器進(jìn)行部署?
實(shí)現(xiàn)了動(dòng)和靜分離。提高訪問(wèn)靜態(tài)文件的速度。降低對(duì)后臺(tái)的訪問(wèn)。提高了網(wǎng)站的吞吐量。
實(shí)現(xiàn)動(dòng)靜分離的方式:
1. 頁(yè)面靜態(tài)化,頁(yè)面靜態(tài)化后的頁(yè)面是放在哪里,硬盤(pán)還是緩存中。
2. 靜態(tài)文件例如:圖片還有html,css文件時(shí)放在web服務(wù)器上,還是web服務(wù)器的緩存里面?
五:setting.py中的debug=True
我們希望本機(jī)訪問(wèn)的時(shí)候,開(kāi)啟調(diào)試模式,錯(cuò)誤了給錯(cuò)誤信息的詳細(xì)頁(yè)面,其他機(jī)器訪問(wèn)的時(shí)候,關(guān)閉調(diào)試模式,錯(cuò)誤了給他們404頁(yè)面?! ?/p>
socket.gethostname() 返回的是主機(jī)名
# setting.py中改變DEBUG=True import socket if socket.gethostname() == "xxx": DEBUG =True else: DEBUG = False
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 全面剖析Python的Django框架中的項(xiàng)目部署技巧
- Python Web框架之Django框架文件上傳功能詳解
- python設(shè)計(jì)微型小說(shuō)網(wǎng)站(基于Django+Bootstrap框架)
- Python django框架應(yīng)用中實(shí)現(xiàn)獲取訪問(wèn)者ip地址示例
- Python Django框架實(shí)現(xiàn)應(yīng)用添加logging日志操作示例
- Python實(shí)現(xiàn)手寫(xiě)一個(gè)類(lèi)似django的web框架示例
- 解析Mac OS下部署Pyhton的Django框架項(xiàng)目的過(guò)程
相關(guān)文章
Django應(yīng)用程序中如何發(fā)送電子郵件詳解
我們常常會(huì)用到一些發(fā)送郵件的功能,比如有人提交了應(yīng)聘的表單,可以向HR的郵箱發(fā)郵件,這樣,HR不看網(wǎng)站就可以知道有人在網(wǎng)站上提交了應(yīng)聘信息。下面這篇文章就介紹了在Django應(yīng)用程序中如何發(fā)送電子郵件的相關(guān)資料,需要的朋友可以參考借鑒。2017-02-02windows 10 設(shè)定計(jì)劃任務(wù)自動(dòng)執(zhí)行 python 腳本的方法
這篇文章主要介紹了windows 10 設(shè)定計(jì)劃任務(wù)自動(dòng)執(zhí)行 python 腳本的方法,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-09-09如何對(duì)Python編譯PyInstaller打包生成的exe文件進(jìn)行反編譯生成pyc、py源代碼文件
很多開(kāi)發(fā)者沒(méi)有發(fā)布源程序代碼,而是將代碼封裝為exe可執(zhí)行文件,這樣不僅更有利于程序傳播,下面這篇文章主要介紹了如何對(duì)Python編譯PyInstaller打包生成的exe文件進(jìn)行反編譯生成pyc、py源代碼文件的相關(guān)資料,需要的朋友可以參考下2023-01-01django 按時(shí)間范圍查詢(xún)數(shù)據(jù)庫(kù)實(shí)例代碼
這篇文章主要介紹了django 按時(shí)間范圍查詢(xún)數(shù)據(jù)庫(kù)實(shí)例代碼,分享了相關(guān)代碼示例,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-02-02百分百成功的全網(wǎng)最簡(jiǎn)約sklearn環(huán)境配置教程
這篇文章主要介紹了百分百成功的全網(wǎng)最簡(jiǎn)約sklearn環(huán)境配置教程,圖文全流程講解包簡(jiǎn)單易懂,百分百成功,需要的朋友可以參考下2023-03-03python和Appium移動(dòng)端多設(shè)備自動(dòng)化測(cè)試框架實(shí)現(xiàn)
這篇文章主要介紹了python和Appium移動(dòng)端多設(shè)備自動(dòng)化測(cè)試框架實(shí)現(xiàn),基于pytest和Appium框架,支持Android和iOS功能自動(dòng)化的測(cè)試框架的相關(guān)內(nèi)容,需要的小伙伴可以參考一下2022-04-04Python實(shí)現(xiàn)爬蟲(chóng)IP負(fù)載均衡和高可用集群的示例代碼
做大型爬蟲(chóng)項(xiàng)目經(jīng)常遇到請(qǐng)求頻率過(guò)高的問(wèn)題,這里需要說(shuō)的是使用爬蟲(chóng)IP可以提高抓取效率,本文主要介紹了Python實(shí)現(xiàn)爬蟲(chóng)IP負(fù)載均衡和高可用集群的示例代碼,感興趣的可以了解一下2023-12-12