您好,登錄后才能下訂單哦!
怎么在python中使用django框架部署一個項目?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
一:項目部署的框架
nginx和uWSGI在生產服務器上進行的部署
二:什么是nginx?
nginx是一個web服務器。
什么是web服務器?
web服務器則主要是讓客戶可以通過瀏覽器進行訪問,處理HTML文件,css文件,js文件,圖片等資源。web服務器一般要處理靜態文件。對接服務器。
什么是靜態文件?
css,js,html,圖片等不需要后臺進行邏輯處理的文件。
特點:一般將靜態文件放在web服務器里面。如nginx服務器中,做到動態靜態分離的處理。
什么是動態文件?
除了靜態文件之外,一般都是動態文件。
特點:動態文件一般web服務器不直接進行處理,例如ngnix會將動態資源轉發給應用服務器(反向代理),讓應用服務器進行處理,并將處理結果,返給nginx,nginx在將結果返回瀏覽器。
什么是應用服務器?
應用服務器直接面對的是我們寫的程序。
特點:對接程序函數,處理業務邏輯。
uWSGI是一個應用服務器。
三:uWSGI和nginx之間通信的簡單過程。
uWSGI接到請求后,將請求包進行處理,處理成wsgi(一種通信協議)可以接受的格式,并發送給wsgi,wsgi根據請求,調用應用程序中的某個文件中的某個函數,進行處理,處理完成后,將返回值,再次交給wsgi,wsgi將返回值進行打包,打包成uWSGI接受的格式,然后uWSGI將結果轉發給nginx,ngnix最終將返回值給瀏覽器。
四:為什么分成靜態服務器和應用服務器進行部署?
實現了動和靜分離。提高訪問靜態文件的速度。降低對后臺的訪問。提高了網站的吞吐量。
實現動靜分離的方式:
1. 頁面靜態化,頁面靜態化后的頁面是放在哪里,硬盤還是緩存中。
2. 靜態文件例如:圖片還有html,css文件時放在web服務器上,還是web服務器的緩存里面?
五:setting.py中的debug=True
我們希望本機訪問的時候,開啟調試模式,錯誤了給錯誤信息的詳細頁面,其他機器訪問的時候,關閉調試模式,錯誤了給他們404頁面。
socket.gethostname() 返回的是主機名
# setting.py中改變DEBUG=True import socket if socket.gethostname() == "xxx": DEBUG =True else: DEBUG = False
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。