# Django 應用系統佈署指引
# 摘要
說明如何在 Ubuntu 作業系統,佈署 Django 應用系統。
本指引文件共分兩篇:
- 建置 Django 應用系統運作平台
- 佈署 Django 應用系統作業指引
# 組成 Django 應用系統所需服務
Django Application 之運作,將由下列之服務(Services)協同作業:
- HTTP Service: 由 Ngnix 擔綱,作為 HTTP Server ;
- Application Service: 由 uWSGI(Web Server Gateway Interface) 作為 Application Server 。
# Django 應用系統作業流程
Web Client 發送 HTTP Request;
HTTP Service (Nginx) 於收到 HTTP Request 後,將提供「靜態檔案」 (Static Files) 予 Web Client ;或是將 HTTP Request 打包成:「檔案類型」 之 Unix Socket ,然後轉交 Application Service (uWSGI) 處理;
Application Service 自檔案讀取 Unix Socket 內容,並轉發予 Django Application 處理此發自 Web Client 端之 HTTP Request。
# 作業指引
# 建置 Django 應用系統運作平台
說明如何在 Ubuntu 作業系統,建置 Django 應用系統於執行時期, 所需使用之運作平台。
# 佈署 Django 應用系統作業指引
說明 Django 應用系統,「首度」佈署之作業程序。
# 問題診斷與狀況排除
# 常用服務管理指令
sudo service nginx status
sudo service nginx stop
sudo service nginx start
1
2
3
2
3
# 驗證設定檔語法正確
建立或變更 nginx.conf 、虛擬網站設定檔後,可使用如下指令驗證有無「設定語法」的 錯誤。
sudo nginx -t
1
📺
$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
1
2
3
2
3
# 參考資料
# Setting up Django and your web server with uWSGI and nginx (opens new window)
如何使用 Nginx + uWSGI 佈署 Django 應用系統。
# How To Set Up uWSGI and Nginx to Serve Python Apps on CentOS 7 (opens new window)
如何運用作業系統所提供之功能,令 Django 應用系統於「開機」後自動啟動,開始提供服務。