部署django應用

2021-10-06 16:19:49 字數 1471 閱讀 1617

django開發時只需要python就能完成,利用其自帶的開發服務,可以方便在開發環境執行起應用,但部署於生產時則需要一些額外的操作。

首先是配置的修改,settings.py裡有些最小配置需要修改

static_root = os.path.join(os.getcwd(),

'static'

)allowed_hosts =

['127.0.0.1'

]debug =

false

如果應用裡有,樣式表資源,需要設定static_root;debug模式必須關掉,否則會暴露過多資訊造成安全問題;allowed_hosts列表需要指明允許的主機。

django官方介紹了多種wsgi方式的生產部署方案:

python manage.py collectstatic
django部署方式多樣,可以根據需要選擇。

gunicorn執行django服務,apache對外暴露,反向**到gunicorn的方案基本配置過程大體如下:

通過包管理器或其他方式安裝apache, pip或其他方式安裝gunicorn。

pip install gunicorn配置反向**到gunicorn執行的django服務,配置apache處理靜態資源。

修改/etc/httpd/conf/httpd.conf配置檔案:

#處理靜態資源配置

alias /static/ /path/to/static/

require all granted #2.4

#反向**

proxypass /static/ ! #排除/static路徑

proxypass /

proxypassreverse /

如果想要重寫server頭,可以加入配置

header unset server

header always unset x-powered-by

header unset x-powered-by

header unset x-cf-powered-by

header unset x-mod-pagespeed

header unset x-pingback

執行apache

systemctl start httpd
最簡單的情況下,可以直接執行

gunicorn django_project.wsgi

Nginx uWSGI 部署 Django 應用

uwsgi的安裝 1wget 1sudo apt get install libxml2 dev 剩下的就簡單了 1tar zxvf uwsgi 0.9.9.2.tar.gz 2cd uwsgi 0.9.9.2 3make f makefile.py26 指定你python的版本,如果你的pytho...

Nginx uWSGI 部署 Django 應用

uwsgi的安裝 wget sudo apt get install libxml2 dev 剩下的就簡單了 tar zxvf uwsgi 0.9.9.2.tar.gz cd uwsgi 0.9.9.2 make f makefile.py26 指定你python的版本,如果你的python是2.7...

nginx uwsgi部署django 應用

python web部署 為什麼需要uwsgi 或者 gunicorn python web 部署為什麼需要nginx 直接使用uwsgi 或者是 gunicorn 同樣可以部署python web 但是以目前前後端分離的開發環境下,nginx 處理靜態資源會比 uwsgi 和 gunicorn 強...