如何使用nginx & uwsgi 部署 django -1 (uwsgi + django)
本教學針對想要設置Web服務器的Django用戶,示範並記錄個人的設置過程提供給各位參考。將用django與uWSGI和nginx配合使用。
這裡使用Ubuntu16.04為示範,內容也會參考各官方文檔系統:Ubuntu16.04
python版本:3.6.1
uwsgi版本:2.0.14
前置-安裝 python3
$ 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...)
呃...差不多到一個段落惹 下一篇再繼續寫完
歡迎留言討論~
留言
張貼留言