[ Python ] Nginx、uWSGI 與 Django 的關係

其實不應該把 Nginx 和 uWSGI 分類在 Python 中,
但為了方便記憶是在什麼時候學到的,所以就分類在 Python 裡;
由於在 website 這一塊是個超級新手,所以花了一些時間才稍稍理解,
下面就以自己能理解的角度筆記一下。

=====================================================

Nginx 
是一個輕量級的代理伺服器 ( ex. Apache, IIS, Lighttpd ),
會使用 Nginx 是由於網站需架在環境條件有限的晶片上,
所以選擇效能穩定且佔記憶體較少的 Nginx。

uWSGI
是一個實現 WSGI、uwsgi、http 等協議的 web 服務器,
可作為接口跟 Django (Pyhthon) 進行溝通。

  • 在關係上,Client 端 website 將請求遞給 Nginx,Nginx 透過 socket 找到 uWSGI 進行請求的要求,uWSGI 跟 Django 作溝通回覆回應;回應時透過 Nginx 處理靜態內容 (static),將動態內容轉發給 uWSGI服務器,最後在 Client 端作響應。
    (以下來個文字圖解)
    網頁請求 ←→ Nginx ←(socket)→ uWSGI ←→ Djngo (Python)

附上參考的 uWSGI 概念筆記

=====================================================

這是我對於三者間,目前能接受的理解,好心人有誤請指。

Done!

[ Python ] 在 Ubuntu 上安裝 Python、Django 環境

此次使用 VMware workstation 架 Linux 環境,並在 Linux 環境下

安裝 Python 和 Django 。

由於我使用的 Xubuntu 版本已內建 Python、Python2.7、Python3

和 Python3.4,所以不必手動安裝 Python。

=================================================

<< 安裝 Python、Django >>

  1. 先至 Python 官網下載 Python (依版本需求作下載)
    download
  2. 在此的手動安裝方法參考此篇技術文章
    (由於未實際手動安裝過,不便作任何筆記)
  3. 如果以手動安裝 Python 的方式,在文中也提到,會由依賴包一併
    安裝 pip (此指 pip 與 pip3),若系統以內建 Python,則需另外安裝
    一次 pip,確保確實已安裝。
    pip3
    基本上 Python 到這一步已算安裝完成,可透過輸入 python (或
    python3.4) 進入 shell 查看是否安裝完成。
    python_shell
  4. 由於在實作中有使用 pytz (Python Time Zone),所以可以利用
    pip 作 pytz 的安裝。
    install_pytz
  5. 最後,在利用 pip 安裝 Django,這樣環境就架好啦!
    install_django

=================================================

Done!

[ Python ] 超久沒筆記之學習新東西 – Python、Django

回頭看上一篇筆記已經是八月的事,其實有點誇張的久,

在這段期間經歷了論文口試、畢業、服役和開始上班生活,

上班後,主管並沒有讓我依專長去作相關的研發,

反倒給我些時間(2 weeks)去研究有趣的語言 – Python

然後再給我一些時間(1 week)利用 Django 簡單的寫一支平台。

======================================================

<< Python >>

由於主管希望以 Python 3 來作開發,所以就直接從 Python 3.4 開始,

雖然目前已開發來講大家還是建議 2.7 但看過一些比較過後,但我認為

只要從一開始就盡量試著以共通的方式作開發,應該是不會太麻煩的!

從完全不會 Python 起步的話,建議還是打好基礎,至少我是這樣起步。

這邊我推薦三個學習 Python 的方法:

  • 嗑書(Programming in Python 3)打好根基。
    (這是我用的方法,不過我吃簡體書)
  • 參考官方的教學文件:選好版本 3.4,跟著範例走。
    (個人推薦這個方法起步最好!)
  • 透過 Codecademy 學 Python!
    (這是個有趣方式,循序漸進,但我認為需要一點基礎)

學習語言其實可以有趣一點,純嗑書真的太無趣了,而且會失去熱忱,

所以這三個方法並用還不錯。

=======================================================

<< Django >>

在稍微熟悉 Python 之後,我們可以利用 Django 這個框架來實作後台,

什麼是 Django 呢?其實一開始主管跟我說 Python 時,至少我還知道我

要學習一個我沒使用過的新語言,但提到 Django 我一頭霧水 …

其實 Django 是一個以 Python 撰寫的 Web Framework,相似的框架還有

TornadoBottle 和 Flask,有閒有空再來研究其他框架的建置。

在學習、和認識 Django 時,這邊大推兩個學習的好地方!

在 Django 的學習上我認為可以先注意的就是 MTV 架構,M 指的是 Model(

model.py),T 指的是 Templates(即網頁模板 .html),而 V 就是指 View

(view.py)。

=======================================================

以上的學習我都是在 Win 7 下,透過 Visual Studio 2013 作學習和開發,

基本上都沒有問題,現在正在學習如使用 uWSGI 和 Nginx 將 Django 架在

Ubuntu 環境下。

Done!