如何使用nginx & uwsgi 部署 django -1 (uwsgi + django)

本教學針對想要設置Web服務器的Django用戶,示範並記錄個人的設置過程提供給各位參考。將用django與uWSGI和nginx配合使用。
這裡使用Ubuntu16.04為示範,內容也會參考各官方文檔

系統:Ubuntu16.04
python版本:3.6.1
uwsgi版本:2.0.14
**********************************************************
前置-安裝 python3
 利用編譯的方式安裝Python

設置虛擬環境
$ mkdir djangosite
$ cd djangosite
$ python3 -m venv django_virtual  #藍色字為虛擬環境名稱可自行命名

虛擬環境指令
開啟
$ source django_virtual/bin/activate  #開啟後行首會有(django_virtual)
關閉
$ deactivate

安裝 django
$ pip install Django
安裝 uwsgi
$ pip install uwsgi
測試uwsgi
首先創建一個測試的文件test.py
# test.py
def application(env, start_response):
    start_response('200 OK', [('Content-Type','text/html')])
    return [b"Hello World"] # python3
    # return ["Hello World"] # python2

接著開始測試uwsgi
$ uwsgi --http :8000 --wsgi-file test.py參數涵義:http :8000 使用http協議,8000端口
                  wsgi-file test.py 加載指定文件 test.py

最後打開localhost(127.0.0.1:8000)
如果正確顯示Hello World,則表示以下3個環節是運行順利的 the web client <-> uWSGI <-> Python
接著測試uwsgi和django
首先測試django專案是否可順利執行
(記得先將django專案複製到當前系統和資料夾)
$ cd mysite     #藍色字為專案名稱,請自行修改為個人的專案名稱
$ python manage.py runserver


如果沒問題,試著使用uwsgi拉起project
$ uwsgi --http :8000 --module mysite.wsgi# 參數涵義 module mysite.wsgi   加載wsgi module

如果project能夠正常被拉起,表示以下環節是運行順利的
the web client <-> uWSGI <-> Django

(continued...)

呃...差不多到一個段落惹 下一篇再繼續寫完
歡迎留言討論~

留言

這個網誌中的熱門文章