使用Ubuntu20.04 LTS server版,內建Python3.8
Step1)安裝pip3
#sudo apt update
#sudo apt install python3-pip
Step2)安裝Python虛擬環境
#sudo pip3 install virtualenvwrapper
#vi .bashrc
在.bashrc內,新增以下設定
#source ~/.bashrc
執行後出現以下訊息。
virtualenvwrapper.user_scripts creating /home/ubuntu/.virtualenvs/...
virtualenvwrapper.user_scripts creating /home/ubuntu/.virtualenvs/...
...
Step3)建立名稱為django的虛擬環境
#mkvirtualenv django
重新進入此虛擬環境
#workon django
Step4)安裝django
(django)#sudo pip3 install django
Step5)建立django專案
(django)#mkdir test
(django)#cd test
(django)#django-admin startproject mytest
(django)#cd mytest
(django)#vi mytest/settings.py
新增自己的IP到ALLOWED_HOSTS
ALLOWED_HOSTS = ['192.168.43.23']
(django)#python3 manage.py runserver 0.0.0.0:8000
使用瀏覽器連線http://伺服器IP:8000/admin/是否可以看到django的管理畫面。
Step6)安裝uWSGI
(django)#sudo pip3 install uwsgi
(django)#vi uwsgi.ini
連接埠為8003,使用mytest\wsgi.py內的application物件為模組。
以下兩個範例,選擇一個實作。
第一個範例
第二個範例比較複雜,包含python虛擬環境
Step7)啟用uWSGI
#uwsgi --ini uwsgi.ini
使用瀏覽器瀏覽http://伺服器IP:8003/admin/或 http://伺服器IP:8004/admin/是否可以看到django的管理畫面。
Step8)將uWSGI轉換成開機服務
#sudo vi /etc/systemd/system/uwsgi.service
檔案uwsgi.service
#sudo systemctl restart uwsgi
Step9)安裝Nginx
使用Nginx將80port轉向到8003port的Django。
#sudo apt install nginx
移除default的超連結
#cd /etc/nginx/sites-enabled
#sudo rm default
新增設定檔
#cd /etc/nginx/sites-available
#sudo vi deploy-proxy
檔案deploy-proxy
static要有作用,需要在settings.py設定
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
#python3 manage.py collectstatic將static資料複製到STATIC_ROOT資料夾
在sites-enabled資料夾建立超連結
#sudo ln -s /etc/nginx/sites-available/deploy-proxy /etc/nginx/sites-enabled/
啟動nginx
#sudo systemctl restart nginx
使用瀏覽器瀏覽http://伺服器IP/admin/是否可以看到django的管理畫面。